]> granicus.if.org Git - php/commitdiff
Merge branch 'PHP-7.0' into PHP-7.1
authorAnatol Belski <ab@php.net>
Thu, 2 Mar 2017 15:41:43 +0000 (16:41 +0100)
committerAnatol Belski <ab@php.net>
Thu, 2 Mar 2017 15:41:43 +0000 (16:41 +0100)
* PHP-7.0:
  do not try to handle signals, when globals are inconsistent

1  2 
Zend/zend_signal.c

index 605187aed25bb4895bd9c2cb7229df4bd3274369,ba550a146af4bd8967c28264fc41a140aeca415a..9a21831da2cc33571761d3241ebeac36b8d23f68
@@@ -172,9 -165,16 +177,16 @@@ ZEND_API void zend_signal_handler_unblo
  static void zend_signal_handler(int signo, siginfo_t *siginfo, void *context)
  {
        int errno_save = errno;
 -      struct sigaction sa = {{0}};
 +      struct sigaction sa;
        sigset_t sigset;
-       zend_signal_entry_t p_sig = SIGG(handlers)[signo-1];
+       zend_signal_entry_t p_sig;
+ #ifdef ZTS
+       if (NULL == TSRMG_BULK_STATIC(zend_signal_globals_id, zend_signal_globals_t *)) {
+               p_sig.flags = 0;
+               p_sig.handler = SIG_DFL;
+       } else 
+ #endif
+       p_sig = SIGG(handlers)[signo-1];
  
        if (p_sig.handler == SIG_DFL) { /* raise default handler */
                if (sigaction(signo, NULL, &sa) == 0) {