diff options
-rw-r--r-- | Src/jobs.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/Src/jobs.c b/Src/jobs.c index 6e47e5e54..3c2a21a72 100644 --- a/Src/jobs.c +++ b/Src/jobs.c @@ -1444,7 +1444,19 @@ zwaitjob(int job, int wait_cmd) restore_queue_signals(q); return 128 + last_signal; } - errflag &= ~ERRFLAG_ERROR; + /* Commenting this out makes ^C-ing a job started by a function + stop the whole function again. But I guess it will stop + something else from working properly, we have to find out + what this might be. --oberon + + When attempting to separate errors and interrupts, we + assumed because of the previous comment it would be OK + to remove ERRFLAG_ERROR and leave ERRFLAG_INT set, since + that's the one related to ^C. But that doesn't work. + There's something more here we don't understand. --pws + + errflag = 0; */ + if (subsh) { killjb(jn, SIGCONT); jn->stat &= ~STAT_STOPPED; |