Hi Takashi,

On Jul  7 12:34, Takashi Yano wrote:
> diff --git a/winsup/cygwin/dtable.cc b/winsup/cygwin/dtable.cc
> index 18e0f3097..2aae2fd65 100644
> --- a/winsup/cygwin/dtable.cc
> +++ b/winsup/cygwin/dtable.cc
> @@ -600,7 +600,13 @@ fh_alloc (path_conv& pc)
>       case FH_TTY:
>         if (!pc.isopen ())
>           {
> -           fhraw = cnew_no_ctor (fhandler_console, -1);
> +           if (CTTY_IS_VALID (myself->ctty))
> +             {
> +               if (iscons_dev (myself->ctty))
> +                 fhraw = cnew_no_ctor (fhandler_console, -1);
> +               else
> +                 fhraw = cnew_no_ctor (fhandler_pty_slave, -1);
> +             }

What happens if CTTY_IS_VALID fails at this point?  There's no
`else' catching that situation?

>             debug_printf ("not called from open for /dev/tty");
>           }
>         else if (!CTTY_IS_VALID (myself->ctty) && last_tty_dev


Thanks,
Corinna

Reply via email to