diff options
Diffstat (limited to 'shell/msh.c')
-rw-r--r-- | shell/msh.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/shell/msh.c b/shell/msh.c index 6555604..fd287f1 100644 --- a/shell/msh.c +++ b/shell/msh.c @@ -2797,15 +2797,13 @@ static int forkexec(struct op *t, int *pin, int *pout, int no_fork, char **wp) if (!bltin) export(lookup(cp)); - if (pin) { + if (pin) { /* NB: close _first_, then move fds! */ + close(pin[1]); xmove_fd(pin[0], 0); - if (pin[1] != 0) - close(pin[1]); } if (pout) { + close(pout[0]); xmove_fd(pout[1], 1); - if (pout[0] > 1) - close(pout[0]); } iopp = t->ioact; |