On Tue, 15 Aug 2023 09:53:16 +0900 キャロウ マーク wrote: > > On Aug 15, 2023, at 9:30, Takashi Yano <takashi.y...@nifty.ne.jp> wrote: > > > > Your test case does not work in command prompt as well. > > > > Try > > type testfile | test-pipe sizeoftestfile > > in command prompt. It will fail. > > Interesting. > > > > > New pipe implementation since cygwin 3.4.x provides the pipes > > more similar to pipe in command prompt for non-cygwin apps. > > What are the differences between these pipes? What changed?
Many changes. But, the change which triggers this behaviour is setting FILE_SYNCHRONOUS_IO_NONALERT create option. With this option, seekg() of Microsoft library gets success for pipes, despite it should not I suppose. In Linux, man page states that fseek() on pipes will fail. > > Since your test case is compiled with cl.exe, it is non-cygwin > > apps. > > When the failure first appeared the bash shell included with Git for Windows > was being used to run the pipe (`bash -c "cat foo | bar”`). The shell was > started by ctest which had been run from PowerShell. Is this cygwin or > non-cygwin? It depends on "bar". If bar is compiled with cl.exe or gcc/g++ in MSYS2 mingw environment, it is non-cygwin app. > in https://github.com/git-for-windows/git/issues/4464#issuecomment-1671137446 > the author provided minimal adaption to the reproducer to compile it with g++ > and reproduced the failure on Cygwin. It looks like the failure happens for > both cygwin and non-cygwin. It is probably related to the new pipe > implementation you mentioned. Is there any failure case where the pipe reader is cygwin (or MSYS2) binary? -- Takashi Yano <takashi.y...@nifty.ne.jp> -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple