[PATCH] Cygwin: pty: Clear discard_input flag on master write()

Takashi Yano takashi.yano@nifty.ne.jp
Wed Mar 25 21:34:05 GMT 2026


On Wed, 25 Mar 2026 20:24:04 +0100
Corinna Vinschen wrote:
> On Mar 25 22:07, Takashi Yano wrote:
> > Currently, the first transfer_input() after Ctrl-C does not work
> > because discard_input flag remains asserted. This can cause loosing
> > typeahead input for non-cygwin app after Ctrl-C. With this patch,
> > the discard_input flag is cleared on master write() because the
> > input is new valid input after discarding input.
> > 
> > Fixes: 4e16e575db04 ("Cygwin: pty: Discard input already accepted on interrupt.")
> > Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
> > Reviewed-by:
> > ---
> >  winsup/cygwin/fhandler/pty.cc | 2 ++
> >  1 file changed, 2 insertions(+)
> > 
> > diff --git a/winsup/cygwin/fhandler/pty.cc b/winsup/cygwin/fhandler/pty.cc
> > index 0c50e50f5..c05462d1f 100644
> > --- a/winsup/cygwin/fhandler/pty.cc
> > +++ b/winsup/cygwin/fhandler/pty.cc
> > @@ -2224,6 +2224,8 @@ fhandler_pty_master::write (const void *ptr, size_t len)
> >  
> >    push_process_state process_state (PID_TTYOU);
> >  
> > +  get_ttyp ()->discard_input = false;
> > +
> >    if (get_ttyp ()->pcon_start)
> >      { /* Reaches here when pseudo console initialization is on going. */
> >        /* Pseudo condole support uses "CSI6n" to get cursor position.
> > -- 
> > 2.51.0
> 
> LGTM.

Thanks for reviewing. Pushed.

-- 
Takashi Yano <takashi.yano@nifty.ne.jp>


More information about the Cygwin-patches mailing list