Re: [PATCH] Cygwin: console: Set ENABLE_PROCESSED_INPUT when disable_master_thread

Takashi Yano <[email protected]> Tue, 14 Jul 2026 09:54:02 +0900
Newsgroups gmane.os.cygwin.patches
Message-ID <[email protected]>
Hi Johannes,

On Thu, 18 Dec 2025 08:45:12 +0100 (CET)
Johannes Schindelin wrote:
> Hi Takashi,
> 
> On Tue, 15 Jul 2025, Takashi Yano wrote:
> 
> > On Mon, 7 Jul 2025 12:50:24 +0200 (CEST)
> > Johannes Schindelin wrote:
> > > 
> > > On Thu, 3 Jul 2025, Takashi Yano wrote:
> > > 
> > > > On Thu, 3 Jul 2025 11:15:44 +0200 (CEST)
> > > > Johannes Schindelin wrote:
> > > > > 
> > > > > On Thu, 3 Jul 2025, Takashi Yano wrote:
> > > > > 
> > > > > > I noticed this patch needs additional fix. Please apply also
> > > > > > https://cygwin.com/pipermail/cygwin-patches/2025q3/014053.html
> > > > > 
> > > > > Thank you for the update!
> > > > > 
> > > > > I am curious, though: Under what circumstances does this patch make a
> > > > > difference? I tried to deduce this from the diff and the commit
> > > > > message but was unable to figure it out.
> > > > 
> > > > In my environment, the command cat | /cygdrive/c/windows/system32/ping
> > > > -t localhost in Command Prompt cannt stop with single Ctrl-C. ping is
> > > > stopped, but cat remains without the sencond patch, IIRC.
> > > 
> > > I have added this as an (AutoHotKey-based) integration test to
> > > https://github.com/git-for-windows/msys2-runtime/pull/105 and was able to
> > > verify that your fix is necessary to let that test pass.
> > > 
> > > Speaking of tests: Have you had any time to consider how to accompany your
> > > fix by a regression test in `winsup/testsuite/`?
> > > 
> > > For several days, I tried to find a way to reproduce a way to reproduce
> > > the SSH hang using combinations of Cygwin programs and MINGW
> > > programs/Node.JS scripts and did not find any. FWIW I don't think that
> > > MINGW programs or Node.JS scripts would be allowed in the test suite,
> > > anyway, but I wanted to see whether I could replicate the conditions
> > > necessary for the hang without resorting to SSH and `git.exe` _at all_.
> > > 
> > > I deem it crucial to start including tests with your fixes that can be run
> > > automatically, and that catch regressions in the CI builds.
> > 
> > To be honest, I already have local test suites that check the behavior
> > of special keys for both pty and console. However, I currently have no
> > clear idea how to integrate them into winsup/testsuite...
> 
> If Cygwin were merely a personal project of yours, I would understand and
> probably agree.
> 
> However, Cygwin is used (via the MSYS2 runtime) in Git for Windows, and by
> extension millions of users rely on it.
> 
> Therefore, it would be good to at least publish those local tests.
> Ideally, a good deal of thought should be spent on figuring out a way to
> integrate the tests into the CI builds.
> 
> You mentioned winsup/testsuite, and I do agree that it sounds more than
> just tricky to integrate the tests there. Essentially, you would probably
> end up reimplementing AutoHotKey's fundamental functionality: sending
> keystrokes and inspecting the results.
> 
> Now, to be sure, running AutoHotKey-based tests is a lot more finicky than
> running winsup/testsuite. In the absence of any better idea, though, I
> would take the confidence from having tests over not having tests, any
> day. After all, you and I are both fully aware of the unfortunate pattern
> in the code under discussion where on multiple occasions, bug fixes
> introduced new bugs whose fixes introduced yet other bugs, etc ad nauseam.
> If AutoHotKey-based tests can help break that pattern, let's integrate
> them.

I’ve organized the tools, so I’m publishing them as a trial.
https://github.com/tyan0/chk_tty

sample/keystrokes.scr is the script which is a re-implementation of
your AutoHotKey test for this tool (chk_pty).

-- 
Takashi Yano <[email protected]>