diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 0d1e1878b..5ae608356 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2011-10-11 Christopher Faylor + + * dtable.cc (fh_alloc): Don't parse /dev/tty if ctty is < 0. Reset + major/minor from the specific tty to those for /dev/tty. + 2011-10-10 Christopher Faylor * syscalls.cc (open): Add temporary kludge to avoid assigning the diff --git a/winsup/cygwin/dtable.cc b/winsup/cygwin/dtable.cc index d78013608..a53596fa1 100644 --- a/winsup/cygwin/dtable.cc +++ b/winsup/cygwin/dtable.cc @@ -541,10 +541,14 @@ fh_alloc (device dev) break; case FH_TTY: { - if (iscons_dev (myself->ctty)) - fh = cnew (fhandler_console, dev); - else - fh = cnew (fhandler_pty_slave, myself->ctty); + if (myself->ctty > 0) + { + if (iscons_dev (myself->ctty)) + fh = cnew (fhandler_console, dev); + else + fh = cnew (fhandler_pty_slave, myself->ctty); + fh->dev () = FH_TTY; + } break; } case FH_KMSG: