* exceptions.cc (ctrl_c_handler): Simplify test for no parent tty.

* fhandler_console.cc (fhandler_console::get_tty_stuff): Return NULL if ctty is
not tty/console.  Improve test for slave tty/pty device.
This commit is contained in:
Christopher Faylor 2011-06-01 01:47:51 +00:00
parent be9b5aba26
commit 83e4d35a89
3 changed files with 10 additions and 6 deletions

View File

@ -1,3 +1,9 @@
2011-05-31 Christopher Faylor <me.cygwin2011@cgf.cx>
* exceptions.cc (ctrl_c_handler): Simplify test for no parent tty.
* fhandler_console.cc (fhandler_console::get_tty_stuff): Return NULL if
ctty is not tty/console. Improve test for slave tty/pty device.
2011-05-31 Christopher Faylor <me.cygwin2011@cgf.cx>
* external.cc (fillout_pinfo): Don't truncate ctty if it's < 0.

View File

@ -999,7 +999,7 @@ ctrl_c_handler (DWORD type)
tty_min *t = cygwin_shared->tty.get_cttyp ();
/* Ignore this if we're not the process group leader since it should be handled
*by* the process group leader. */
if (myself->ctty != -1 && t->getpgid () == myself->pid &&
if (t && t->getpgid () == myself->pid &&
(GetTickCount () - t->last_ctrl_c) >= MIN_CTRL_C_SLOP)
/* Otherwise we just send a SIGINT to the process group and return TRUE (to indicate
that we have handled the signal). At this point, type should be

View File

@ -127,7 +127,6 @@ console_unit::console_unit (HWND me0):
api_fatal ("console device allocation failure - too many consoles in use, max consoles is 32");
}
bool
fhandler_console::set_unit ()
{
@ -193,14 +192,13 @@ fhandler_console::get_tty_stuff ()
tty_min *
tty_list::get_cttyp ()
{
static tty_min nada;
_dev_t n = myself->ctty;
if (iscons_dev (n))
return &shared_console_info->tty_min_state;
else if (n > 0)
return shared_console_info ? &shared_console_info->tty_min_state : NULL;
else if (istty_slave_dev (n))
return &ttys[device::minor (n)];
else
return &nada;
return NULL;
}
inline DWORD