From 6868c46c2ee0c74cd85bfe23f477d72bbbe297c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Dunglas?= Date: Thu, 13 Oct 2022 07:06:55 +0200 Subject: [PATCH] support using SIGALARM instead of SIGPROF for Go compatibility --- Zend/zend_execute_API.c | 2 +- Zend/zend_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..d84ea79192a36 100644 --- a/Zend/zend_execute_API.c +++ b/Zend/zend_execute_API.c @@ -1463,7 +1463,7 @@ static void zend_set_timeout_ex(zend_long seconds, bool reset_signals) /* {{{ */ t_r.it_value.tv_sec = seconds; t_r.it_value.tv_usec = t_r.it_interval.tv_sec = t_r.it_interval.tv_usec = 0; -# if defined(__CYGWIN__) || defined(__PASE__) +# if defined(__CYGWIN__) || defined(__PASE__) || defined(NO_SIGPROF) setitimer(ITIMER_REAL, &t_r, NULL); } signo = SIGALRM; diff --git a/Zend/zend_signal.c b/Zend/zend_signal.c index be48a91d3d88b..fef8c199b2ff2 100644 --- a/Zend/zend_signal.c +++ b/Zend/zend_signal.c @@ -64,7 +64,7 @@ ZEND_API zend_signal_globals_t zend_signal_globals; static void zend_signal_handler(int signo, siginfo_t *siginfo, void *context); static int zend_signal_register(int signo, void (*handler)(int, siginfo_t*, void*)); -#if defined(__CYGWIN__) || defined(__PASE__) +#if defined(__CYGWIN__) || defined(__PASE__) || defined(NO_SIGPROF) /* Matches zend_execute_API.c; these platforms don't support ITIMER_PROF. */ #define TIMEOUT_SIG SIGALRM #else