diff options
-rw-r--r-- | winsup/cygwin/ChangeLog | 5 | ||||
-rw-r--r-- | winsup/cygwin/dtable.cc | 2 |
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 ()); |