summaryrefslogtreecommitdiff
path: root/Src/exec.c
diff options
context:
space:
mode:
Diffstat (limited to 'Src/exec.c')
-rw-r--r--Src/exec.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/Src/exec.c b/Src/exec.c
index c79a27895..e3915ddfe 100644
--- a/Src/exec.c
+++ b/Src/exec.c
@@ -1844,7 +1844,8 @@ execpline2(Estate state, wordcode pcode,
/* if we are doing "foo | bar" where foo is a current *
* shell command, do foo in a subshell and do the *
* rest of the pipeline in the current shell. */
- if (wc_code(code) >= WC_CURSH && (how & Z_SYNC)) {
+ if ((wc_code(code) >= WC_CURSH || wc_code(code) == WC_ASSIGN)
+ && (how & Z_SYNC)) {
int synch[2];
struct timeval bgtime;