From c0df175586d4c6f4ea5b32c2bc8085841b46c147 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Dunglas?= Date: Sun, 16 Oct 2022 12:21:40 +0200 Subject: [PATCH] Set SA_ONSTACK too when zend signals are disabled and in pcntl --- Zend/zend_execute_API.c | 2 +- ext/pcntl/php_signal.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) 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