d6e869dfa9
AsioExternalThreadEvent::unserialize() may legally throw PHP exceptions. When that happens, construction of PHP exceptions reenters VM, surprised flag is checked and pending C++ exceptions may be thrown. Let's make sure the event is properly destroyed. If it is not, the web request will get stuck forever waiting for the finished event to finish.