From ae10f88bfbb93b20aa831a7dd31a0ce1d347dbf0 Mon Sep 17 00:00:00 2001
From: Peter Stephenson
Date: Sun, 2 Jul 2017 21:00:56 +0100
Subject: 41386: when backgrounding a STAT_CURSH job, remove the flag.
This typical applies to a STAT_SUPERJOB. It prevents it from
getting copied interrupts as a foreground process.
---
ChangeLog | 3 +++
Src/jobs.c | 4 +++-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/ChangeLog b/ChangeLog
index c843d8856..0f0d6d31b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2017-07-02 Peter Stephenson
+ * 41386: Src/jobs.c: when backgrounding a STAT_CURSH job, remove
+ the flag, preventing it getting foreground signals.
+
* 22760: Src/utils.c, Test/D04parameter.ztst: NO_MULTIBYTE
partial string lengths were reported as full string lengths.
diff --git a/Src/jobs.c b/Src/jobs.c
index d1b98ac4d..32f7daab9 100644
--- a/Src/jobs.c
+++ b/Src/jobs.c
@@ -2288,8 +2288,10 @@ bin_fg(char *name, char **argv, Options ops, int func)
case BIN_FG:
case BIN_BG:
case BIN_WAIT:
- if (func == BIN_BG)
+ if (func == BIN_BG) {
jobtab[job].stat |= STAT_NOSTTY;
+ jobtab[job].stat &= ~STAT_CURSH;
+ }
if ((stopped = (jobtab[job].stat & STAT_STOPPED))) {
makerunning(jobtab + job);
if (func == BIN_BG) {
--
cgit 1.4.1