diff options
Diffstat (limited to 'Src/signals.c')
-rw-r--r-- | Src/signals.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/Src/signals.c b/Src/signals.c index 50af1b400..60457349b 100644 --- a/Src/signals.c +++ b/Src/signals.c @@ -668,6 +668,7 @@ dosavetrap(int sig, int level) st->list = sigfuncs[sig]; unsettrap(sig); } + sigtrapped[sig] = 0; notrapfree--; PERMALLOC { if (!savetraps) @@ -829,6 +830,7 @@ endtrapscope(void) if (sigtrapped[sig]) unsettrap(sig); + sigtrapped[sig] = st->flags; if (st->flags) { List list = (st->flags & ZSIG_FUNC) ? ((Shfunc) st->list)->funcdef : (List) st->list; |