On Jul 24 15:13, Corinna Vinschen wrote:
> On Jul 24 15:06, Corinna Vinschen wrote:
> > On Jul 24 20:57, Takashi Yano wrote:
> > > Previously, process_fd failed to correctly handle fhandlers using an
> > > archetype. This was due to the missing PATH_OPEN flag in path_conv,
> > > which caused build_fh_pc() to skip archetype initialization. The
> > > root cause was a bug where open() did not set the PATH_OPEN flag
> > > for fhandlers using an archetype.
> > > 
> > > This patch introduces a new method, path_conv::set_isopen(), to
> > > explicitly set the PATH_OPEN flag in path_flags in fhandler_base::
> > > open_with_arch().
> > 
> > Wouldn't this patch fix the problem as well?
> > 
> > diff --git a/winsup/cygwin/fhandler/console.cc 
> > b/winsup/cygwin/fhandler/console.cc
> > index 887e2ef722bf..2801c806edd5 100644
> > --- a/winsup/cygwin/fhandler/console.cc
> > +++ b/winsup/cygwin/fhandler/console.cc
> > @@ -4311,7 +4311,7 @@ fhandler_console::init (HANDLE h, DWORD a, mode_t 
> > bin, int64_t dummy)
> >  {
> >    // this->fhandler_termios::init (h, mode, bin);
> >    /* Ensure both input and output console handles are open */
> > -  int flags = 0;
> > +  int flags = PC_OPEN;
> >  
> >    a &= GENERIC_READ | GENERIC_WRITE;
> >    if (a == GENERIC_READ)
> > diff --git a/winsup/cygwin/fhandler/pty.cc b/winsup/cygwin/fhandler/pty.cc
> > index 77a363eb0e3b..10785e240091 100644
> > --- a/winsup/cygwin/fhandler/pty.cc
> > +++ b/winsup/cygwin/fhandler/pty.cc
> > @@ -1015,7 +1015,7 @@ fhandler_pty_slave::close (int flag)
> >  int
> >  fhandler_pty_slave::init (HANDLE h, DWORD a, mode_t, int64_t dummy)
> >  {
> > -  int flags = 0;
> > +  int flags = PC_OPEN;
> >  
> >    a &= GENERIC_READ | GENERIC_WRITE;
> >    if (a == GENERIC_READ)
> > 
> > 
> > Corinna
> 
> No, it wouldn't.  flags are not or'ed in the followup code.  Sigh.
> 
> diff --git a/winsup/cygwin/fhandler/console.cc 
> b/winsup/cygwin/fhandler/console.cc

And no, this one wouldn't either. I'm not thinking straight ATM, sorry.

Your patch is GTG.


Thanks,
Corinna

Reply via email to