about summary refs log tree commit diff
path: root/Src/exec.c
diff options
context:
space:
mode:
authorBart Schaefer <barts@users.sourceforge.net>2011-08-10 03:21:15 +0000
committerBart Schaefer <barts@users.sourceforge.net>2011-08-10 03:21:15 +0000
commit92ee9324a96cd503c2ebc82cf84c03ddb08bf434 (patch)
tree3fb5178db4f643667e08efe982f20b8878903d53 /Src/exec.c
parente7f198f26705b1d61292eb8a14a7b7e7ac246e42 (diff)
downloadzsh-92ee9324a96cd503c2ebc82cf84c03ddb08bf434.tar.gz
zsh-92ee9324a96cd503c2ebc82cf84c03ddb08bf434.tar.xz
zsh-92ee9324a96cd503c2ebc82cf84c03ddb08bf434.zip
29654: "wait" should resume stopped jobs identified by process ID as well
as by job number; temporary (?) workaround for pipelines getting lost if
TSTP is delivered when a shell builtin is the tail of the pipe.
Diffstat (limited to 'Src/exec.c')
-rw-r--r--Src/exec.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/Src/exec.c b/Src/exec.c
index 6320f6a67..569c41cf7 100644
--- a/Src/exec.c
+++ b/Src/exec.c
@@ -2845,7 +2845,9 @@ execcmd(Estate state, int input, int output, int how, int last1)
 	/* This is a current shell procedure that didn't need to fork.    *
 	 * This includes current shell procedures that are being exec'ed, *
 	 * as well as null execs.                                         */
-	jobtab[thisjob].stat |= STAT_CURSH|STAT_NOPRINT;
+	jobtab[thisjob].stat |= STAT_CURSH;
+	if (!jobtab[thisjob].procs)
+	    jobtab[thisjob].stat |= STAT_NOPRINT;
     } else {
 	/* This is an exec (real or fake) for an external command.    *
 	 * Note that any form of exec means that the subshell is fake *