]> 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 07:18:57 +0000 (07:18 +0000)
committerDmitry Stogov <dmitry@php.net>
Tue, 12 Jul 2005 07:18:57 +0000 (07:18 +0000)
NEWS
Zend/zend_execute_API.c

diff --git a/NEWS b/NEWS
index 79bb30d4957c6939982326d1e8027403184cf404..328451ee124953922d49841c80ada5c3ad0c59e1 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -39,6 +39,8 @@ PHP                                                                        NEWS
 - Fixed bug #33171 (foreach enumerates private fields declared in base
   classes). (Dmitry)
 - Fixed bug #33164 (Soap extension incorrectly detects HTTP/1.1). (Ilia)
+- Fixed bug #33156 (cygwin version of setitimer doesn't accept ITIMER_PROF).
+  (Nuno)
 - Fixed bug #33116 (crash when assigning class name to global variable in
   __autoload). (Dmitry)
 - Fixed bug #33090 (mysqli_prepare() doesn't return an error). (Georg)
index 0863845619f865e21b1390f88d0c0d985ac60cd5..a2324126c7d935edca21fd6a2321f0b25f719544 100644 (file)
@@ -1280,10 +1280,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