* cygheap.cc (init_cygheap::manage_console_count): Delete.
* cygheap.h (init_cygheap::manage_console_count): Ditto. (init_cygheap::console_count): Ditto. * fhandler.h (fhandler_console::has_a): Ditto. (fhandler_console::free_console): Declare new function. * fhandler_console.cc (fhandler_console::free_console): Define new function. (fhandler_console::open_setup): Delete call to manage_console_count. (fhandler_console::close): Ditto. Replace with call to free_console(). * fhandler_tty.cc (fhandler_pty_slave::open): Delete call to manage_console_count. (fhandler_pty_slave::cleanup): Ditto. (fhandler_pty_slave::close): Call fhandler_console::free_console() if this is our controlling tty. * pinfo.cc (_pinfo::set_ctty): Skip function if tty in question == our ctty. Delete call to manage_console_count. * syscalls.cc (close_all_files): Avoid locking and avoid setting errno when iterating over fds.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
/* cygheap.cc: Cygwin heap manager.
|
||||
|
||||
Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
|
||||
2010, 2011 Red Hat, Inc.
|
||||
2010, 2011, 2012 Red Hat, Inc.
|
||||
|
||||
This file is part of Cygwin.
|
||||
|
||||
@@ -89,23 +89,6 @@ cygheap_fixup_in_child (bool execed)
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
init_cygheap::manage_console_count (const char *something, int amount, bool avoid_freeing_console)
|
||||
{
|
||||
if (console_count == 0 && amount > 0)
|
||||
init_console_handler (true);
|
||||
console_count += amount;
|
||||
debug_printf ("%s: console_count %d, amount %d, %s, avoid_freeing_console %d",
|
||||
something, console_count, amount, myctty (), avoid_freeing_console);
|
||||
if (!avoid_freeing_console && amount <= 0 && !console_count && myself->ctty == -1)
|
||||
{
|
||||
BOOL res = FreeConsole ();
|
||||
debug_printf ("freed console, res %d", res);
|
||||
init_console_handler (false);
|
||||
}
|
||||
return console_count;
|
||||
}
|
||||
|
||||
void
|
||||
init_cygheap::close_ctty ()
|
||||
{
|
||||
|
Reference in New Issue
Block a user