fpm: call zend_signal_init() in child

This addresses bug #71269.

When an fpm child handles more than one request, zend_signal_startup() will
override the saved signal handlers with the internal zend handlers set from the
previous request, causing a SIGQUIT signal to result in a core dump rather than
gracefully exiting (the expected behaviour).

This is fixed by adding a call to zend_signal_init() after setting the
signal handlers in the child. The same technique is used in the apache SAPI
module in commit fd5a756ad4 which addresses
bug #61083.
This commit is contained in:
Mickaël 2016-01-09 04:54:02 +01:00
parent ae50a0c0be
commit b0780d3f41

View File

@ -241,6 +241,10 @@ int fpm_signals_init_child() /* {{{ */
zlog(ZLOG_SYSERROR, "failed to init child signals: sigaction()");
return -1;
}
#ifdef ZEND_SIGNALS
zend_signal_init();
#endif
return 0;
}
/* }}} */