[PATCH] Cygwin: dtable: Delete old kludge code for /dev/tty.

Takashi Yano takashi.yano@nifty.ne.jp
Tue Jul 4 09:58:11 GMT 2023


Hi Corinna,

Thanks for reviewing the patch.

On Mon, 3 Jul 2023 12:52:25 +0200
Corinna Vinschen wrote:
> Hi Takashi,
> 
> On Jun 27 22:28, Takashi Yano wrote:
> > This old kludge code assigns fhandler_console for /dev/tty even
> > if the CTTY is not a console when stat() has been called. Due to
> > this, the problem reported in
> > https://cygwin.com/pipermail/cygwin/2023-June/253888.html
> > occurs after the commit 3721a756b0d8 ("Cygwin: console: Make the
> > console accessible from other terminals.").
> > 
> > This patch fixes the issue by dropping the old kludge code.
> > 
> > Reported-by: Bruce Jerrick <bmj001@gmail.com>
> > Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
> 
> Please add a "Fixes:" tag line.
> 
> > ---
> >  winsup/cygwin/dtable.cc | 7 +------
> >  1 file changed, 1 insertion(+), 6 deletions(-)
> > 
> > diff --git a/winsup/cygwin/dtable.cc b/winsup/cygwin/dtable.cc
> > index 18e0f3097..9427e238e 100644
> > --- a/winsup/cygwin/dtable.cc
> > +++ b/winsup/cygwin/dtable.cc
> > @@ -598,12 +598,7 @@ fh_alloc (path_conv& pc)
> >  	  fh = cnew (fhandler_mqueue);
> >  	  break;
> >  	case FH_TTY:
> > -	  if (!pc.isopen ())
> > -	    {
> > -	      fhraw = cnew_no_ctor (fhandler_console, -1);
> > -	      debug_printf ("not called from open for /dev/tty");
> > -	    }
> 
> This is ok-ish.  The problem is that the original patch 23771fa1f7028
> does not explain *why* it assigned a console fhandler if the file is not
> open.  Given that, it's not clear what side-effects we might encounter
> if we change this.  Do you understand the situation here can you explain
> why dropping this kludge will do the right thing now?  If so, it would
> be great to have a good description of the original idea behind the
> code and why we don't need it anymore in the commit message.

I am not really sure the reason why the kludge code was needed.
However, I noticed stat() fails before the commit 6ae28c22639d
without the kludge code if the program calls setsid(). After the
commit 6ae28c22639d, this does not happen. Therefore, I think
this kludge code is no longer necessary.

I will submit v2 patch where the commit message is updated.

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


More information about the Cygwin-patches mailing list