From 21b195562a54005b4341a037d2c02078787b7f2a Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Wed, 3 May 2017 11:30:15 +0100 Subject: 41043: Close pipes in shell when disowning background job. This was missing in the case of &,, causing a file descriptor leak. --- ChangeLog | 5 +++++ Src/exec.c | 1 + 2 files changed, 6 insertions(+) diff --git a/ChangeLog b/ChangeLog index 4ad8f44df..44ea38da2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2017-05-03 Peter Stephenson + + * 41043: Src/exec.c: Close pipes in shell if disowning + backgrounded job with &!. + 2017-05-02 Peter Stephenson * 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; } -- cgit 1.4.1