]> granicus.if.org Git - php/commitdiff
Fixed bug #33156 (cygwin version of setitimer doesn't accept ITIMER_PROF). (Nuno)
authorDmitry Stogov <dmitry@php.net>
Tue, 12 Jul 2005 06:52:59 +0000 (06:52 +0000)
committerDmitry Stogov <dmitry@php.net>
Tue, 12 Jul 2005 06:52:59 +0000 (06:52 +0000)
NEWS
Zend/zend_execute_API.c

diff --git a/NEWS b/NEWS
index b2b968f61fde4e230dd811ead6673ae8870980bd..4dc581bc81118d1733622e885fc2ad7f973735ec 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -40,6 +40,8 @@ PHP                                                                        NEWS
 - Fixed bug #31358 (Older GCC versions do not provide portable va_copy()).
   (Jani)
 - Fixed bug #31158 (array_splice on $GLOBALS crashes). (Dmitry)
+- Fixed bug #33156 (cygwin version of setitimer doesn't accept ITIMER_PROF).
+  (Nuno)
 - Fixed bug #30828 (debug_backtrace() reports incorrect class in overridden
   methods). (Dmitry)
 - Fixed bug #30519 (Interface not existing says Class not found). (Dmitry)
index adda863112abacacd3ea31f8cd039c263e4ef3b4..a5fbb469951a5ed6fc04db5ad480d50e393d15f1 100644 (file)
@@ -1284,10 +1284,17 @@ void zend_set_timeout(long seconds)
                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;
 
+#      ifdef __CYGWIN__
+               setitimer(ITIMER_REAL, &t_r, NULL);
+               signal(SIGALRM, zend_timeout);
+               sigemptyset(&sigset);
+               sigaddset(&sigset, SIGALRM);
+#      else
                setitimer(ITIMER_PROF, &t_r, NULL);
                signal(SIGPROF, zend_timeout);
                sigemptyset(&sigset);
                sigaddset(&sigset, SIGPROF);
+#      endif
                sigprocmask(SIG_UNBLOCK, &sigset, NULL);
        }
 #      endif