Skip to content

Commit c22a1c8

Browse files
committed
Zend signals should be installed after request startup (or regular signals may be installed before zend_signal_startup)
1 parent 8b82323 commit c22a1c8

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

sapi/phpdbg/phpdbg.c

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1657,14 +1657,6 @@ int main(int argc, char **argv) /* {{{ */
16571657
} zend_end_try();
16581658
#endif
16591659

1660-
#if defined(ZEND_SIGNALS) && !defined(_WIN32)
1661-
zend_try { zend_sigaction(SIGSEGV, &signal_struct, &PHPDBG_G(old_sigsegv_signal)); } zend_end_try();
1662-
zend_try { zend_sigaction(SIGBUS, &signal_struct, &PHPDBG_G(old_sigsegv_signal)); } zend_end_try();
1663-
#elif !defined(_WIN32)
1664-
sigaction(SIGSEGV, &signal_struct, &PHPDBG_G(old_sigsegv_signal));
1665-
sigaction(SIGBUS, &signal_struct, &PHPDBG_G(old_sigsegv_signal));
1666-
#endif
1667-
16681660
PHPDBG_G(sapi_name_ptr) = sapi_name;
16691661

16701662
if (exec) { /* set execution context */
@@ -1701,6 +1693,14 @@ int main(int argc, char **argv) /* {{{ */
17011693
return 1;
17021694
}
17031695

1696+
#if defined(ZEND_SIGNALS) && !defined(_WIN32)
1697+
zend_try { zend_sigaction(SIGSEGV, &signal_struct, &PHPDBG_G(old_sigsegv_signal)); } zend_end_try();
1698+
zend_try { zend_sigaction(SIGBUS, &signal_struct, &PHPDBG_G(old_sigsegv_signal)); } zend_end_try();
1699+
#elif !defined(_WIN32)
1700+
sigaction(SIGSEGV, &signal_struct, &PHPDBG_G(old_sigsegv_signal));
1701+
sigaction(SIGBUS, &signal_struct, &PHPDBG_G(old_sigsegv_signal));
1702+
#endif
1703+
17041704
/* do not install sigint handlers for remote consoles */
17051705
/* sending SIGINT then provides a decent way of shutting down the server */
17061706
#ifndef _WIN32

0 commit comments

Comments
 (0)