diff options
author | Peter Stephenson <pws@users.sourceforge.net> | 2004-04-19 16:02:17 +0000 |
---|---|---|
committer | Peter Stephenson <pws@users.sourceforge.net> | 2004-04-19 16:02:17 +0000 |
commit | b5ceb73026791281532ea9638cadac491b27959b (patch) | |
tree | cf3a758d87070a5a6b7d8e003e1f015c41b7a9d9 /Src/signals.c | |
parent | 55940daefb5b75bb929bda03612fafab6beedaff (diff) | |
download | zsh-b5ceb73026791281532ea9638cadac491b27959b.tar.gz zsh-b5ceb73026791281532ea9638cadac491b27959b.tar.xz zsh-b5ceb73026791281532ea9638cadac491b27959b.zip |
zsh-users/7365: new TRAPS_ASYNC option
Diffstat (limited to 'Src/signals.c')
-rw-r--r-- | Src/signals.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/Src/signals.c b/Src/signals.c index dbecdf20c..8939d1ba1 100644 --- a/Src/signals.c +++ b/Src/signals.c @@ -49,7 +49,7 @@ mod_export int nsigtrapped; /* Variables used by signal queueing */ /**/ -mod_export int queueing_enabled, queue_front, queue_rear; +mod_export int queueing_enabled, queue_front, queue_rear, queue_not_sigchld; /**/ mod_export int signal_queue[MAX_QUEUE_SIZE]; /**/ @@ -425,7 +425,8 @@ zhandler(int sig) } #endif - if (queueing_enabled) { /* Are we queueing signals now? */ + /* Are we queueing signals now? */ + if (queueing_enabled && (sig != SIGCHLD || !queue_not_sigchld)) { int temp_rear = ++queue_rear % MAX_QUEUE_SIZE; DPUTS(temp_rear == queue_front, "BUG: signal queue full"); |