From: Anders Kaseorg Date: Tue, 26 Jun 2012 22:30:06 GMT Subject: [PATCH] t9010: Open backflow FIFO once to work around kernel race condition Message-ID: <1340749806-22734-1-git-send-email-andersk@mit.edu> Linux’s implementation of open() on FIFOs suffers from a race condition (see http://marc.info/?l=linux-kernel&m=134071285509470 ) that causes t9010-svn-fe.sh to occasionally fail with t9010-svn-fe.sh: 27: eval: cannot create backflow: Interrupted system call Although I can’t reproduce this locally, it happens particularly often on the Launchpad PPA builders. Sidestep this problem by opening the backflow FIFO once for read+write. Also, replace the stream FIFO with a shell pipe so we don’t have to do manual process management. Signed-off-by: Anders Kaseorg --- t/t9010-svn-fe.sh | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/t/t9010-svn-fe.sh b/t/t9010-svn-fe.sh index b7eed24..c52a7de 100755 --- a/t/t9010-svn-fe.sh +++ b/t/t9010-svn-fe.sh @@ -11,9 +11,9 @@ reinit_git () { return 127 fi rm -fr .git && - rm -f stream backflow && + rm -f backflow && git init && - mkfifo stream backflow + mkfifo backflow } try_dump () { @@ -22,10 +22,9 @@ try_dump () { maybe_fail_fi=${3:+test_$3} && { - $maybe_fail_svnfe test-svn-fe "$input" >stream 3backflow && - wait $! + $maybe_fail_svnfe test-svn-fe "$input" | + $maybe_fail_fi git fast-import --cat-blob-fd=3 + } 3<>backflow } properties () { -- 1.7.11.1