* cygheap.cc (init_cygheap::manage_console_count): Revert previous change.

Handle this a different way.
* external.cc (cygwin_internal): Accommodate extra hook_or_detect_cygwin
argument.
* hookapi.cc (cygwin_internal): Fill in subsys variable with the subsystem of
the executable.
* spawn.cc (av::iscui): New variable.
(spawn_guts): Hide window when we don't have a console and this isn't
NT/XP/2003.
(av::fixup): Set iscui flag.
* winsup.h (hook_or_detect_cygwin): Accommodate extra argument.
This commit is contained in:
Christopher Faylor
2005-12-21 17:14:34 +00:00
parent d4c8d84da6
commit 247ac234f4
6 changed files with 32 additions and 8 deletions

View File

@@ -96,8 +96,7 @@ init_cygheap::manage_console_count (const char *something, int amount, bool avoi
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 (wincap.pty_needs_alloc_console () && !avoid_freeing_console && amount <= 0
&& !console_count && myself->ctty == -1)
if (!avoid_freeing_console && amount <= 0 && !console_count && myself->ctty == -1)
{
FreeConsole ();
debug_printf ("freed console");