summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/cygheap.cc3
2 files changed, 7 insertions, 1 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index f4b9b1c86..dce26a8c4 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,8 @@
+2005-12-21 Christopher Faylor <cgf@timesys.com>
+
+ * cygheap.cc (init_cygheap::manage_console_count): Don't call
+ FreeConsole on 9x/Me.
+
2005-12-21 Corinna Vinschen <corinna@vinschen.de>
* (fhandler_disk_file::fchown): Remove execute bits from "sensible"
diff --git a/winsup/cygwin/cygheap.cc b/winsup/cygwin/cygheap.cc
index 122e6207a..819de8fe7 100644
--- a/winsup/cygwin/cygheap.cc
+++ b/winsup/cygwin/cygheap.cc
@@ -96,7 +96,8 @@ 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 (!avoid_freeing_console && amount <= 0 && !console_count && myself->ctty == -1)
+ if (wincap.pty_needs_alloc_console () && !avoid_freeing_console && amount <= 0
+ && !console_count && myself->ctty == -1)
{
FreeConsole ();
debug_printf ("freed console");