diff options
Diffstat (limited to 'walk.c')
| -rw-r--r-- | walk.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -108,7 +108,7 @@ top: sigchk(); cond = oldcond; break; } - if (setjmp(j.j)) + if (sigsetjmp(j.j, 1)) break; jbreak.jb = &j; except(eBreak, jbreak, &e1); @@ -131,7 +131,7 @@ top: sigchk(); Jbwrap j; Estack e1, e2; Edata jbreak; - if (setjmp(j.j)) + if (sigsetjmp(j.j, 1)) break; jbreak.jb = &j; except(eBreak, jbreak, &e1); @@ -148,6 +148,7 @@ top: sigchk(); } case nSubshell: if (dofork(TRUE)) { + setsigdefaults(FALSE); walk(n->u[0].p, FALSE); rc_exit(getstatus()); } |