]> granicus.if.org Git - php/commitdiff
Zend signals should be installed after request startup (or regular signals may be...
authorDmitry Stogov <dmitry@zend.com>
Mon, 20 Jun 2016 16:19:16 +0000 (19:19 +0300)
committerDmitry Stogov <dmitry@zend.com>
Mon, 20 Jun 2016 16:19:16 +0000 (19:19 +0300)
sapi/phpdbg/phpdbg.c

index e72b543a42ededd46c9434f2d471ce97696b6e14..0a45882251d4ea9561b9e128d6988e6b50cb57ab 100644 (file)
@@ -1657,14 +1657,6 @@ phpdbg_main:
                } zend_end_try();
 #endif
 
-#if defined(ZEND_SIGNALS) && !defined(_WIN32)
-               zend_try { zend_sigaction(SIGSEGV, &signal_struct, &PHPDBG_G(old_sigsegv_signal)); } zend_end_try();
-               zend_try { zend_sigaction(SIGBUS, &signal_struct, &PHPDBG_G(old_sigsegv_signal)); } zend_end_try();
-#elif !defined(_WIN32)
-               sigaction(SIGSEGV, &signal_struct, &PHPDBG_G(old_sigsegv_signal));
-               sigaction(SIGBUS, &signal_struct, &PHPDBG_G(old_sigsegv_signal));
-#endif
-
                PHPDBG_G(sapi_name_ptr) = sapi_name;
 
                if (exec) { /* set execution context */
@@ -1701,6 +1693,14 @@ phpdbg_main:
                        return 1;
                }
 
+#if defined(ZEND_SIGNALS) && !defined(_WIN32)
+               zend_try { zend_sigaction(SIGSEGV, &signal_struct, &PHPDBG_G(old_sigsegv_signal)); } zend_end_try();
+               zend_try { zend_sigaction(SIGBUS, &signal_struct, &PHPDBG_G(old_sigsegv_signal)); } zend_end_try();
+#elif !defined(_WIN32)
+               sigaction(SIGSEGV, &signal_struct, &PHPDBG_G(old_sigsegv_signal));
+               sigaction(SIGBUS, &signal_struct, &PHPDBG_G(old_sigsegv_signal));
+#endif
+
                /* do not install sigint handlers for remote consoles */
                /* sending SIGINT then provides a decent way of shutting down the server */
 #ifndef _WIN32