summaryrefslogtreecommitdiff
path: root/ext/pcntl/pcntl.c
diff options
context:
space:
mode:
authorArnaud Le Blanc <lbarnaud@php.net>2010-11-01 22:40:29 +0000
committerArnaud Le Blanc <lbarnaud@php.net>2010-11-01 22:40:29 +0000
commitadaa31fff830ad48087341aae5bb9d9461f24a1d (patch)
treeae502dc02d822a938f763cd77ab1dfed325a3555 /ext/pcntl/pcntl.c
parent61e7730ee89ad86e8b56f262f9d5ae698b445a8a (diff)
downloadphp-git-adaa31fff830ad48087341aae5bb9d9461f24a1d.tar.gz
fix the fix
Diffstat (limited to 'ext/pcntl/pcntl.c')
-rwxr-xr-xext/pcntl/pcntl.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/ext/pcntl/pcntl.c b/ext/pcntl/pcntl.c
index de5b99e9b6..9f9f517033 100755
--- a/ext/pcntl/pcntl.c
+++ b/ext/pcntl/pcntl.c
@@ -1233,8 +1233,10 @@ void pcntl_signal_dispatch()
sigprocmask(SIG_BLOCK, &mask, &old_mask);
/* Bail if the queue is empty or if we are already playing the queue*/
- if (! PCNTL_G(head) || PCNTL_G(processing_signal_queue))
+ if (! PCNTL_G(head) || PCNTL_G(processing_signal_queue)) {
+ sigprocmask(SIG_SETMASK, &old_mask, NULL);
return;
+ }
/* Prevent reentrant handler calls */
PCNTL_G(processing_signal_queue) = 1;