Hi Takashi,

On Wed, 25 Jun 2025, Johannes Schindelin wrote:

> On Wed, 25 Jun 2025, Takashi Yano wrote:
> 
> > I found the patch blocks non-blocking write in some condition.
> 
> Could you please describe these conditions?

I had _guessed_ from looking at the diff that one problem it would address
is what has been reported in Git for Windows: That Ctrl+C is no longer
able to interrupt the clone when running the `git clone` from PowerShell
inside a Windows Terminal (Ctrl+C still works when running in a MinTTY
window). But unfortunately your augmented patch does not fix that. Maybe
in addition to explaining which conditions you were thinking of, you can
help me with this problem, too?

When Git for Windows receives a Ctrl+C, it tries to run `ExitProcess()`
via a remote thread in its spawned children (it does not use
`GenerateConsoleCtrlEvent()` because that would terminate all processes
attached to the same Console).

Do you have any hint where this should be handled so that Ctrl+C works
again?

Another thing I noticed is that when I manually run `kill <pid>` on the
ssh process from another terminal window, it corrupts the PowerShell
session in some way. At first, it _looks_ as if everything is okay, but
when I type anything, only the first keystroke seems to be accepted but
then, after a couple of seconds the Windows Terminal window in which I
started the clone will simply close (it's too fast to tell whether there
is an error message or not), even though neither `ssh.exe` nor `git.exe`
should still be running, only the interactive PowerShell should be
present. This happens with or without pressing Ctrl+C.

Any idea what is going on there?

Ciao,
Johannes

Reply via email to