diff options
Diffstat (limited to 'ext/pcntl/php_signal.c')
-rw-r--r-- | ext/pcntl/php_signal.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/ext/pcntl/php_signal.c b/ext/pcntl/php_signal.c index 41172a988b..840eb46b44 100644 --- a/ext/pcntl/php_signal.c +++ b/ext/pcntl/php_signal.c @@ -20,16 +20,16 @@ #include "php_signal.h" -/* php_signal using sigaction is taken verbatim from Advanced Programing +/* php_signal using sigaction is derrived from Advanced Programing * in the Unix Environment by W. Richard Stevens p 298. */ -Sigfunc *php_signal(int signo, Sigfunc *func) +Sigfunc *php_signal(int signo, Sigfunc *func, int restart) { struct sigaction act,oact; act.sa_handler = func; sigemptyset(&act.sa_mask); act.sa_flags = 0; - if (signo == SIGALRM) { + if (signo == SIGALRM || (! restart)) { #ifdef SA_INTERRUPT act.sa_flags |= SA_INTERRUPT; /* SunOS */ #endif |