From e385312e0937aecd40ca9eac43d88ad4ec0542e7 Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Sun, 7 Dec 2014 17:23:27 +0000 Subject: Put back commenting out of obscure error clearing. It's done us no harm for a long time now, let sleeping dogs lie. --- Src/jobs.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) 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; -- cgit 1.4.1