* fhandler.h (fhandler_tty_master::fixup_after_fork): Remove declaration.
(fhandler_tty_master::fixup_after_exec): Ditto. * fhandler_tty.cc (fhandler_tty_master::init): Fix so that children do not inherit master tty handles. (fhandler_tty_master::fixup_after_fork): Remove, since it was never used. (fhandler_tty_master::fixup_after_exec): Ditto. * pinfo.cc (_pinfo::set_ctty): Increment open_fhs when ctty is set. * cygheap.cc (cygheap_init): Ditto. * syscalls.cc (setsid): *Always* call close on opened ctty since the archetype is associated with the ctty and it counts as an opened handle. * tty.cc (tty::common_init): Don't protect input/output mutex since it confuses subsequent fork/execs when CYGWIN=tty.
This commit is contained in:
@@ -78,6 +78,7 @@ fhandler_tty_master::init ()
|
||||
set_winsize (false);
|
||||
|
||||
inuse = get_ttyp ()->create_inuse (TTY_MASTER_ALIVE);
|
||||
set_close_on_exec (true);
|
||||
|
||||
cygthread *h;
|
||||
h = new cygthread (process_input, cygself, "ttyin");
|
||||
@@ -1402,20 +1403,6 @@ fhandler_pty_master::set_close_on_exec (int val)
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
fhandler_tty_master::fixup_after_fork (HANDLE child)
|
||||
{
|
||||
fhandler_pty_master::fixup_after_fork (child);
|
||||
console->fixup_after_fork (child);
|
||||
}
|
||||
|
||||
void
|
||||
fhandler_tty_master::fixup_after_exec (HANDLE)
|
||||
{
|
||||
console->close ();
|
||||
init_console ();
|
||||
}
|
||||
|
||||
int
|
||||
fhandler_tty_master::init_console ()
|
||||
{
|
||||
|
Reference in New Issue
Block a user