From: Jeff King Date: Thu, 08 Sep 2016 08:27:13 GMT Subject: Re: [PATCH] t6026-merge-attr: wait for process to release trash directory Message-ID: <20160908082713.sgzp2evbvzuthdb4@sigill.intra.peff.net> In-Reply-To: On Thu, Sep 08, 2016 at 10:05:58AM +0200, Johannes Schindelin wrote: > > > Is fifo safe on Windows, though? > > > > No clue. We seem to use mkfifo unconditionally in lib-daemon, but > > perhaps people do not run that test on Windows. Other invocations seem > > to be protected by the PIPE prerequisite. But... > > AFAICT we do not use mkfifo on Windows. Let's see what t/test-lib.sh has > to say about the matter: > > test_lazy_prereq PIPE ' > # test whether the filesystem supports FIFOs > case $(uname -s) in > CYGWIN*|MINGW*) > false > ;; > *) > rm -f testfifo && mkfifo testfifo > ;; > esac > ' > > So there you go. > > The reason it is disabled is that Cygwin/MSYS2 do have a concept of a > FIFO. But `git.exe` won't be able to access such a FIFO because it is > emulated by the POSIX emulation layer, which Git cannot access. Regarding my "unconditionally" above: coincidentally, I happened to be looking in lib-git-daemon.sh about an hour ago and noticed that we do indeed check "test_have_prereq PIPE" (just not near the mkfifo, of course, because we are not in a test block). It seems to have been added by a "Johannes Schindelin". Any relation? So yeah. It definitely would be a bad idea to use a fifo in a test that is already Windows-specific. -Peff