summaryrefslogtreecommitdiff
path: root/Src/signals.c
diff options
context:
space:
mode:
authorAxel Beckert <abe@deuxchevaux.org>2015-09-08 22:44:56 +0200
committerAxel Beckert <abe@deuxchevaux.org>2015-09-08 22:44:56 +0200
commit22cf83b3c5920784188d7dcdfe1ff319cf4603f1 (patch)
tree30c4fcd9ab3549c43904ed095e98f03bd4d91244 /Src/signals.c
parent6c27cb3d5292f8ea6c93503afe54fcc1bce4c1cc (diff)
parenteaea1dc23c4a4e7b65046edd7f3d53a81e39e27b (diff)
downloadzsh-22cf83b3c5920784188d7dcdfe1ff319cf4603f1.tar.gz
zsh-22cf83b3c5920784188d7dcdfe1ff319cf4603f1.zip
Merge tag 'zsh-5.1-test-1' into debian
Diffstat (limited to 'Src/signals.c')
-rw-r--r--Src/signals.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/Src/signals.c b/Src/signals.c
index f45c1860c..aa0b5aaa7 100644
--- a/Src/signals.c
+++ b/Src/signals.c
@@ -1348,6 +1348,7 @@ void
dotrap(int sig)
{
void *funcprog;
+ int q = queue_signal_level();
if (sigtrapped[sig] & ZSIG_FUNC) {
HashNode hn = gettrapnode(sig, 0);
@@ -1370,5 +1371,9 @@ dotrap(int sig)
if ((sigtrapped[sig] & ZSIG_IGNORED) || !funcprog || errflag)
return;
+ dont_queue_signals();
+
dotrapargs(sig, sigtrapped+sig, funcprog);
+
+ restore_queue_signals(q);
}