Hi Corinna, I have considered for a several days for: https://github.com/msys2/msys2-runtime/issues/270 but, the situation is not well.
There are two problems if the pipe size is zero. (1) select() does not work for that pipe because PeekNamedPipe() always returns 0. Read side is ready to read only when the write side is about to write but there is no way to know that. (2) The cause of the problem: https://cygwin.com/pipermail/cygwin/2025-January/257143.html cannot be avoidable. To avoid CancelIo() problem, the patch https://cygwin.com/pipermail/cygwin-patches/2025q1/013451.html restrict to write only data less than the current pipe space. However, if pipe size is zero this is impossible. If we think only about bison calld from native ninja, https://github.com/msys2/msys2-runtime/issues/270#issuecomment-2758310515 can be a solution, but if the cygwin app called from native ninja uses select() or interruption while write(), it will not work properly. Any idea? -- Takashi Yano <takashi.y...@nifty.ne.jp> lost