On 04/20/2016 06:12 PM, Pádraig Brady wrote: > * tests/cp/parent-perm-race.sh: This new race introduced in > commit v8.25-5-g632eda5 is quite hard to hit, but is due to > `ls > fifo` doing write()/close()/exit() once `cp` has > open() the source fifo. Then the subsequent comparison of the > destination file may fail due to the file being missing or empty. > Previously `ls` generated output that was independent of `cp`. > Now we must wait for `cp` to finish before inspecting the > destination file that it wrote. > --- > tests/cp/parent-perm-race.sh | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/tests/cp/parent-perm-race.sh b/tests/cp/parent-perm-race.sh > index 0d0841c..8d09329 100755 > --- a/tests/cp/parent-perm-race.sh > +++ b/tests/cp/parent-perm-race.sh > @@ -43,6 +43,8 @@ do > # $d/attr and has started to read the source file $attr/fifo. > timeout 10 sh -c "ls -ld d/$attr >$attr/fifo" || fail=1 > > + wait $pid || fail=1 > + > ls_output=$(cat d/$attr/fifo) || fail=1 > case $attr,$ls_output in > ownership,d???--[-S]--[-S]* | \ > @@ -52,8 +54,6 @@ do > *) > fail=1;; > esac > - > - wait $pid || fail=1 > done > > Exit $fail >
Nice one! ... and a good analysis: +1 Thanks & have a nice day, Berny
