diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c index 3e19c0cfa8ee9..c7ccfc5a91ccc 100644 --- a/Zend/zend_execute_API.c +++ b/Zend/zend_execute_API.c @@ -1483,7 +1483,7 @@ static void zend_set_timeout_ex(zend_long seconds, bool reset_signals) /* {{{ */ act.sa_handler = zend_timeout_handler; sigemptyset(&act.sa_mask); - act.sa_flags = SA_RESETHAND | SA_NODEFER; + act.sa_flags = SA_ONSTACK | SA_RESETHAND | SA_NODEFER; sigaction(signo, &act, NULL); # else signal(signo, zend_timeout_handler); diff --git a/ext/pcntl/php_signal.c b/ext/pcntl/php_signal.c index a7a448e1ace9b..14c169310e601 100644 --- a/ext/pcntl/php_signal.c +++ b/ext/pcntl/php_signal.c @@ -35,7 +35,7 @@ Sigfunc *php_signal4(int signo, Sigfunc *func, int restart, int mask_all) } else { sigemptyset(&act.sa_mask); } - act.sa_flags = 0; + act.sa_flags = SA_ONSTACK; #ifdef HAVE_STRUCT_SIGINFO_T act.sa_flags |= SA_SIGINFO; #endif