* Avoid closing stdin (I could have sworn I've committed that already)
* unclean_shutdown patches
close(file_handle->handle.fd);
break;
case ZEND_HANDLE_FP:
- fclose(file_handle->handle.fp);
+ if (file_handle->handle.fp != stdin) {
+ fclose(file_handle->handle.fp);
+ }
break;
#ifdef ZTS
case ZEND_HANDLE_ISTREAM:
- delete file_handle->handle.is;
+ if (file_handle->handle.is != &cin) {
+ delete file_handle->handle.is;
+ }
break;
#endif
}
ZEND_API void zend_bailout()
{
+ CLS_FETCH();
ELS_FETCH();
+ CG(unclean_shutdown) = 1;
longjmp(EG(bailout), FAILURE);
}