diff options
author | Bart Schaefer <barts@users.sourceforge.net> | 2011-08-14 18:34:27 +0000 |
---|---|---|
committer | Bart Schaefer <barts@users.sourceforge.net> | 2011-08-14 18:34:27 +0000 |
commit | 516ea294b8645fa910200096098575c39a55547a (patch) | |
tree | 64c934a814f14f23dfafc75dbd2e7497095da1f5 /Src/exec.c | |
parent | 8af2cbd1f213dc7864c84dae869a705d03cf83d5 (diff) | |
download | zsh-516ea294b8645fa910200096098575c39a55547a.tar.gz zsh-516ea294b8645fa910200096098575c39a55547a.tar.xz zsh-516ea294b8645fa910200096098575c39a55547a.zip |
29677: Do not allow external processes in a pipeline to become suspended
when the end of the pipe is controlled by a builtin in the current shell which cannot itself become suspended.
Diffstat (limited to 'Src/exec.c')
-rw-r--r-- | Src/exec.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/Src/exec.c b/Src/exec.c index 569c41cf7..a9164bc64 100644 --- a/Src/exec.c +++ b/Src/exec.c @@ -2848,6 +2848,8 @@ execcmd(Estate state, int input, int output, int how, int last1) jobtab[thisjob].stat |= STAT_CURSH; if (!jobtab[thisjob].procs) jobtab[thisjob].stat |= STAT_NOPRINT; + if (is_builtin) + jobtab[thisjob].stat |= STAT_BUILTIN; } else { /* This is an exec (real or fake) for an external command. * * Note that any form of exec means that the subshell is fake * |