Move tsrm_is_managed_thread() check after tsrm_is_shutdown()

This commit is contained in:
Jakub Zelenka 2022-10-23 12:23:04 +01:00
parent 265f3998c0
commit 365178ac5d

View File

@ -87,18 +87,18 @@ void zend_signal_handler_defer(int signo, siginfo_t *siginfo, void *context)
zend_signal_queue_t *queue, *qtmp;
#ifdef ZTS
if (!tsrm_is_managed_thread()) {
fprintf(stderr, "zend_signal_handler_defer() called in a thread not managed by PHP. The expected signal handler will not be called. This is probably a bug.\n");
return;
}
/* A signal could hit after TSRM shutdown, in this case globals are already freed. */
if (tsrm_is_shutdown()) {
/* Forward to default handler handler */
zend_signal_handler(signo, siginfo, context);
return;
}
if (!tsrm_is_managed_thread()) {
fprintf(stderr, "zend_signal_handler_defer() called in a thread not managed by PHP. The expected signal handler will not be called. This is probably a bug.\n");
return;
}
#endif
if (EXPECTED(SIGG(active))) {