Hi Johannes,
On Wed, 25 Jun 2025 09:38:17 +0200 (CEST)
Johannes Schindelin wrote:
> Hi Takashi,
>
> On Wed, 25 Jun 2025, Johannes Schindelin wrote:
>
> > On Wed, 25 Jun 2025, Takashi Yano wrote:
> >
> > > I'd revise the patch as follows. Could you please test if the
> > > following patch also solves the issue?
> >
> > Will do.
>
> For the record, in my tests, this fixed the hangs, too.
Thanks for testing.
However, I noticed that this patch changes the behavior Corinna was
concerned about.
After trying various things, I found yet another solution for the issue.
diff --git a/winsup/cygwin/fhandler/pipe.cc b/winsup/cygwin/fhandler/pipe.cc
index e35d523bb..e36aa57fc 100644
--- a/winsup/cygwin/fhandler/pipe.cc
+++ b/winsup/cygwin/fhandler/pipe.cc
@@ -647,7 +647,7 @@ fhandler_pipe_fifo::raw_write (const void *ptr, size_t len)
}
if (!NT_SUCCESS (status))
break;
- if (io.Information > 0 || len <= PIPE_BUF || short_write_once)
+ if (io.Information > 0 || len <= PIPE_BUF)
break;
/* Independent of being blocking or non-blocking, if we're here,
the pipe has less space than requested. If the pipe is a
Corinna, what do you think?
Johannes, could you please test this patch as well?
> The only two issues I found aren't new in your revision, but I'd really
> like to address them, too:
>
> - When running that `git clone` in a PowerShell inside a Windows Terminal,
> Ctrl+C does not work, the SSH process simply continues.
This seems because ssh does not receive SIGINT. If you issue
kill -2 <pid>
ssh stops. Who should propagate SIGINT to cygwin ssh executed
by non-cygwin app (Git for Windows) in this case?
> - Also, terminating the SSH process from a separate terminal window via
> `Stop-Process` (not `kill`, as I had mistakenly reported earlier)
> somehow corrupts the PowerShell session such that even a single
> keystroke in it will bring down the entire Windows Terminal window after
> a few seconds.
>
> Ciao,
> Johannes
--
Takashi Yano <[email protected]>