summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/dtable.cc2
2 files changed, 6 insertions, 1 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 66e982ba4..504b5f128 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,10 @@
2011-07-04 Corinna Vinschen <corinna@vinschen.de>
+ * dtable.cc (dtable::init_std_file_from_handle): Change test for console
+ device in call to fh->init to avoid conhost crash on W7.
+
+2011-07-04 Corinna Vinschen <corinna@vinschen.de>
+
* environ.cc (environ_init): Reinstantiate on-the-fly CYGWIN variable
test and call to parse_options if found.
diff --git a/winsup/cygwin/dtable.cc b/winsup/cygwin/dtable.cc
index 2efd4e878..ec110ecdc 100644
--- a/winsup/cygwin/dtable.cc
+++ b/winsup/cygwin/dtable.cc
@@ -383,7 +383,7 @@ dtable::init_std_file_from_handle (int fd, HANDLE handle)
This needs further investigation but the workaround not to close
the handles will have a marginal hit of three extra handles per
process at most. */
- if (!fh->init (dev == FH_CONSOLE && wincap.has_console_handle_problem ()
+ if (!fh->init (iscons_dev (dev) && wincap.has_console_handle_problem ()
? INVALID_HANDLE_VALUE : handle, access, bin))
api_fatal ("couldn't initialize fd %d for %s", fd, fh->get_name ());