summary refs log tree commit diff
path: root/Src/signals.c
diff options
context:
space:
mode:
Diffstat (limited to 'Src/signals.c')
-rw-r--r--Src/signals.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/Src/signals.c b/Src/signals.c
index dd39158d0..ad688094b 100644
--- a/Src/signals.c
+++ b/Src/signals.c
@@ -491,7 +491,9 @@ wait_for_processes(void)
 	 */
 	if (findproc(pid, &jn, &pn, 0)) {
 	    if (((jn->stat & STAT_BUILTIN) ||
-		 (list_pipe && (jobtab[thisjob].stat & STAT_BUILTIN))) &&
+		 (list_pipe &&
+		  (thisjob == -1 ||
+		   (jobtab[thisjob].stat & STAT_BUILTIN)))) &&
 		WIFSTOPPED(status) && WSTOPSIG(status) == SIGTSTP) {
 		killjb(jn, SIGCONT);
 		zwarn("job can't be suspended");