1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-09-07 11:41:16 +02:00

33354: when backgrounding a pipeline, close all pipe descriptors in the parent

Add test for both this and 33345+33346
This commit is contained in:
Barton E. Schaefer 2014-10-04 21:08:56 -07:00
parent 74e26bf126
commit a65fb0677c
3 changed files with 24 additions and 1 deletions

View file

@ -1,3 +1,9 @@
2014-10-04 Barton E. Schaefer <schaefer@zsh.org>
* 33354: Src/jobs.c, Test/A05execution.ztst: when backgrounding
a pipeline, close all pipe descriptors in the parent; add test
for both this and 33345+33346
2014-10-03 Bart Schaefer <schaefer@zsh.org>
* 33346: Src/parse.c: another bit of the 33345 repair

View file

@ -1627,8 +1627,10 @@ spawnjob(void)
}
if (!hasprocs(thisjob))
deletejob(jobtab + thisjob, 0);
else
else {
jobtab[thisjob].stat |= STAT_LOCKED;
pipecleanfilelist(jobtab[thisjob].filelist);
}
thisjob = -1;
}

View file

@ -217,6 +217,21 @@ F:This similar test was triggering a reproducible failure with pipestatus.
F:This test checks for a file descriptor leak that could cause the left
F:side of a pipe to block on write after the right side has exited
{ setopt MONITOR } 2>/dev/null
if [[ -o MONITOR ]]
then
( while :; do print "This is a line"; done ) | () : &
sleep 1
jobs -l
else
print -u $ZTST_fd "Skipping pipe leak test, requires MONITOR option"
print "[0] 0 0"
fi
0:Bug regression: piping to anonymous function; piping to backround function
*>\[<->\] <-> <->
F:This test checks for two different bugs, a parser segfault piping to an
F:anonymous function, and a descriptor leak when backgrounding a pipeline
print "autoload_redir() { print Autoloaded ksh style; } >autoload.log" >autoload_redir
autoload -Uk autoload_redir
autoload_redir