diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2019-07-01 12:47:49 +0200 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2019-07-01 12:47:49 +0200 |
commit | 22ce77f500f2a66e6f1e14ce7a9dbd358db40de1 (patch) | |
tree | da413ce9bd83e84dfade9df9a0bf460e2accac29 /Zend/zend_execute_API.c | |
parent | 8fc58a1a1d32dd288bf4b9e09f9302a99d7b35fe (diff) | |
parent | 01e1e1991d3715c7eaddb27eb7fe88c92c39d074 (diff) | |
download | php-git-22ce77f500f2a66e6f1e14ce7a9dbd358db40de1.tar.gz |
Merge branch 'PHP-7.4'
Diffstat (limited to 'Zend/zend_execute_API.c')
-rw-r--r-- | Zend/zend_execute_API.c | 37 |
1 files changed, 16 insertions, 21 deletions
diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c index 75aaa0137f..1bd462712d 100644 --- a/Zend/zend_execute_API.c +++ b/Zend/zend_execute_API.c @@ -1214,8 +1214,7 @@ static void zend_set_timeout_ex(zend_long seconds, int reset_signals) /* {{{ */ zend_error_noreturn(E_ERROR, "Could not queue new timer"); return; } -#else -# ifdef HAVE_SETITIMER +#elif defined(HAVE_SETITIMER) { struct itimerval t_r; /* timeout requested */ int signo; @@ -1224,39 +1223,38 @@ 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; -# ifdef __CYGWIN__ +# ifdef __CYGWIN__ setitimer(ITIMER_REAL, &t_r, NULL); } signo = SIGALRM; -# else +# else setitimer(ITIMER_PROF, &t_r, NULL); } signo = SIGPROF; -# endif +# endif if (reset_signals) { -# ifdef ZEND_SIGNALS +# ifdef ZEND_SIGNALS zend_signal(signo, zend_timeout_handler); -# else +# else sigset_t sigset; -# ifdef HAVE_SIGACTION +# ifdef HAVE_SIGACTION struct sigaction act; act.sa_handler = zend_timeout_handler; sigemptyset(&act.sa_mask); act.sa_flags = SA_RESETHAND | SA_NODEFER; sigaction(signo, &act, NULL); -# else +# else signal(signo, zend_timeout_handler); -# endif /* HAVE_SIGACTION */ +# endif /* HAVE_SIGACTION */ sigemptyset(&sigset); sigaddset(&sigset, signo); sigprocmask(SIG_UNBLOCK, &sigset, NULL); -# endif /* ZEND_SIGNALS */ +# endif /* ZEND_SIGNALS */ } } -# endif /* HAVE_SETITIMER */ -#endif +#endif /* HAVE_SETITIMER */ } /* }}} */ @@ -1281,23 +1279,20 @@ void zend_unset_timeout(void) /* {{{ */ } tq_timer = NULL; } - EG(timed_out) = 0; -#else -# ifdef HAVE_SETITIMER +#elif defined(HAVE_SETITIMER) if (EG(timeout_seconds)) { struct itimerval no_timeout; 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; -#ifdef __CYGWIN__ +# ifdef __CYGWIN__ setitimer(ITIMER_REAL, &no_timeout, NULL); -#else +# else setitimer(ITIMER_PROF, &no_timeout, NULL); -#endif +# endif } -# endif - EG(timed_out) = 0; #endif + EG(timed_out) = 0; } /* }}} */ |