diff options
author | Peter Stephenson <pws@zsh.org> | 2017-05-03 11:30:15 +0100 |
---|---|---|
committer | Peter Stephenson <pws@zsh.org> | 2017-05-03 11:30:15 +0100 |
commit | 21b195562a54005b4341a037d2c02078787b7f2a (patch) | |
tree | f06c08b5f95efbe6e981d9d07bc633cbb2e8d7ef | |
parent | ab6f30350a674057b364da1bd1eb4cd70073d89d (diff) | |
download | zsh-21b195562a54005b4341a037d2c02078787b7f2a.tar.gz zsh-21b195562a54005b4341a037d2c02078787b7f2a.tar.xz zsh-21b195562a54005b4341a037d2c02078787b7f2a.zip |
41043: Close pipes in shell when disowning background job.
This was missing in the case of &,, causing a file descriptor leak.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | Src/exec.c | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index 4ad8f44df..44ea38da2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2017-05-03 Peter Stephenson <p.stephenson@samsung.com> + + * 41043: Src/exec.c: Close pipes in shell if disowning + backgrounded job with &!. + 2017-05-02 Peter Stephenson <p.stephenson@samsung.com> * unposted: Functions/Zle/insert-unicode-char: use typeset -g to diff --git a/Src/exec.c b/Src/exec.c index 9a75dd284..debb0aeca 100644 --- a/Src/exec.c +++ b/Src/exec.c @@ -1612,6 +1612,7 @@ execpline(Estate state, wordcode slcode, int how, int last1) zclose(opipe[0]); } if (how & Z_DISOWN) { + pipecleanfilelist(jobtab[thisjob].filelist, 0); deletejob(jobtab + thisjob, 1); thisjob = -1; } |