php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Return to Bug #80728
Patch force-problematic-timer.diff revision 2021-02-10 17:34 UTC by calvin at cmpct dot info

Patch force-problematic-timer.diff for Built-in web server Bug #80728

Patch version 2021-02-10 17:34 UTC

Return to Bug #80728 | Download this patch
Patch Revisions:

Developer: calvin@cmpct.info

diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c
index f4f0fa14f1..affacee97c 100644
--- a/Zend/zend_execute_API.c
+++ b/Zend/zend_execute_API.c
@@ -1294,11 +1294,13 @@ static void zend_set_timeout_ex(zend_long seconds, int 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__) || 1
+			fprintf(stderr, " ** Setting real timer for %lld.%lld seconds ** \n", t_r.it_value.tv_sec, t_r.it_value.tv_usec);
 			setitimer(ITIMER_REAL, &t_r, NULL);
 		}
 		signo = SIGALRM;
 # else
+			fprintf(stderr, " ** Setting prof timer for %lld.%lld seconds ** \n", t_r.it_value.tv_sec, t_r.it_value.tv_usec);
 			setitimer(ITIMER_PROF, &t_r, NULL);
 		}
 		signo = SIGPROF;
@@ -1356,9 +1358,11 @@ void zend_unset_timeout(void) /* {{{ */
 
 		no_timeout.it_value.tv_sec = no_timeout.it_value.tv_usec = no_timeout.it_interval.tv_sec = no_timeout.it_interval.tv_usec = 0;
 
-# if defined(__CYGWIN__) || defined(__PASE__)
+# if defined(__CYGWIN__) || defined(__PASE__) || 1
+		fprintf(stderr, " ** UnSetting real timer ** \n");
 		setitimer(ITIMER_REAL, &no_timeout, NULL);
 # else
+		fprintf(stderr, " ** UnSetting prof timer ** \n");
 		setitimer(ITIMER_PROF, &no_timeout, NULL);
 # endif
 	}
diff --git a/Zend/zend_signal.c b/Zend/zend_signal.c
index 7e6eb18068..3325c57960 100644
--- a/Zend/zend_signal.c
+++ b/Zend/zend_signal.c
@@ -62,7 +62,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__) || 1
 /* Matches zend_excute_API.c; these platforms don't support ITIMER_PROF. */
 #define TIMEOUT_SIG SIGALRM
 #else
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Apr 25 08:01:28 2024 UTC