* fhandler_tty.cc (fhandler_tty::close): Remove problematic hExeced guard.

This commit is contained in:
Christopher Faylor 2006-05-20 04:59:53 +00:00
parent 3b26b6a205
commit 6118c524b0
2 changed files with 19 additions and 13 deletions

View File

@ -1,3 +1,7 @@
2006-05-20 Christopher Faylor <cgf@timesys.com>
* fhandler_tty.cc (fhandler_tty::close): Remove problematic hExeced guard.
2006-05-20 Christopher Faylor <cgf@timesys.com> 2006-05-20 Christopher Faylor <cgf@timesys.com>
* fhandler_tty.cc (fhandler_tty_slave::open): Reinstate call to * fhandler_tty.cc (fhandler_tty_slave::open): Reinstate call to

View File

@ -598,22 +598,24 @@ out:
int int
fhandler_tty_slave::close () fhandler_tty_slave::close ()
{ {
if (!hExeced) /* This used to always call fhandler_tty_common::close when hExeced but that
caused multiple closes of the handles associated with this tty. Since
close_all_files is not called until after the cygwin process has synced
or before a non-cygwin process has exited, it should be safe to just
close this normally. cgf 2006-05-20 */
cygheap->manage_console_count ("fhandler_tty_slave::close", -1);
archetype->usecount--;
report_tty_counts (this, "closed", "");
if (archetype->usecount)
{ {
cygheap->manage_console_count ("fhandler_tty_slave::close", -1);
archetype->usecount--;
report_tty_counts (this, "closed", "");
if (archetype->usecount)
{
#ifdef DEBUGGING #ifdef DEBUGGING
if (archetype->usecount < 0) if (archetype->usecount < 0)
system_printf ("error: usecount %d", archetype->usecount); system_printf ("error: usecount %d", archetype->usecount);
#endif #endif
termios_printf ("just returning because archetype usecount is != 0"); termios_printf ("just returning because archetype usecount is != 0");
return 0; return 0;
}
} }
termios_printf ("closing last open %s handle", ttyname ()); termios_printf ("closing last open %s handle", ttyname ());