* fhandler_tty.cc (fhandler_tty::open): Add a comment.

This commit is contained in:
Christopher Faylor 2005-12-13 05:43:30 +00:00
parent 3220aed354
commit 82f423291b
2 changed files with 15 additions and 0 deletions

View File

@ -1,3 +1,7 @@
2005-12-13 Christopher Faylor <cgf@timesys.com>
* fhandler_tty.cc (fhandler_tty::open): Add a comment.
2005-12-12 Christopher Faylor <cgf@timesys.com> 2005-12-12 Christopher Faylor <cgf@timesys.com>
* times.cc (hires_ms::usecs): Subtract from slop from system time or * times.cc (hires_ms::usecs): Subtract from slop from system time or

View File

@ -581,6 +581,17 @@ fhandler_tty_slave::open (int flags, mode_t)
{ {
BOOL b; BOOL b;
HWINSTA h, horig; HWINSTA h, horig;
/* The intent here is to allocate an "invisible" console if we have no
controlling tty or to reuse the existing console if we already have
a tty. So, first get the old windows station. If there is no controlling
terminal, create a new windows station and then set it as the current
windows station. The subsequent AllocConsole will then be allocated
invisibly. But, after doing that we have to restore any existing windows
station or, strangely, characters will not be displayed in any windows
drawn on the current screen. We only do this if we have changed to
a new windows station and if we had an existing windows station previously.
Phew. */
h = horig = GetProcessWindowStation (); h = horig = GetProcessWindowStation ();
if (myself->ctty == -1) if (myself->ctty == -1)
{ {