OSDN Git Service

* dtable.cc (dtable::init_std_file_from_handle): Fix comment to
authorcorinna <corinna>
Sat, 8 Aug 2009 20:24:54 +0000 (20:24 +0000)
committercorinna <corinna>
Sat, 8 Aug 2009 20:24:54 +0000 (20:24 +0000)
document change in the Windows 7 workaround.
* wincap.cc (wincapc::init): Don't set has_console_handle_problem
to false on 32 bit systems.

winsup/cygwin/ChangeLog
winsup/cygwin/dtable.cc
winsup/cygwin/wincap.cc

index 10cb43e..36eb089 100644 (file)
@@ -1,3 +1,10 @@
+2009-08-08  Corinna Vinschen  <corinna@vinschen.de>
+
+       * dtable.cc (dtable::init_std_file_from_handle): Fix comment to
+       document change in the Windows 7 workaround.
+       * wincap.cc (wincapc::init): Don't set has_console_handle_problem
+       to false on 32 bit systems.
+
 2009-08-06  Corinna Vinschen  <corinna@vinschen.de>
 
        * net.cc (cygwin_getnameinfo): Force setting NI_NUMERICSERV only
index aa4c6e7..e7943c4 100644 (file)
@@ -360,26 +360,20 @@ dtable::init_std_file_from_handle (int fd, HANDLE handle)
       else
        access |= GENERIC_WRITE;  /* Should be rdwr for stderr but not sure that's
                                    possible for some versions of handles */
-      /* FIXME: Workaround Windows 7 64 bit issue.  If the parent process of
+      /* FIXME: Workaround Windows 7 issue.  If the parent process of
         the process tree closes the original handles to the console window,
         strange problems occur when starting child processes later on if
-        stdio redirection is used.  How to reproduce:
-
-          shell script foo:
-
-            exec 2>foo.log
-            FOO=$( uname -n | cat )
-            echo $FOO
-
-        start from cmd with `bash foo'.  The result is that the cat process
-        will be started but dies before Cygwin strace output can be generated
-        and $FOO stays empty.  The strace output shows that bash tries
-        multiple times to start cat, but none of the invocations of cat will
-        ever show up in the strace output.
-
-        Remove the `exec 2>' or remove the cat call and the script will work.
-        Start bash interactively, then start the script manually, and the
-        script will work.
+        stdio redirection is used.
+
+        CV 2009-08-08:  It looks like this problem has been fixed only
+        half-heartedly in RTM.  Unfortunately the new implementation
+        has still a problem which now also occurs on the 32 bit release
+        of Windows 7.  It's still not quite clear what happens but it's
+        easily reproducible.  Just start X via the start menu entry.
+        This opens an xterm window with a shell.  Exit from the shell,
+        and you get a Windows error box reporting a crash in the
+        Console Window Host application (conhost.exe) due to an access
+        violation.
 
         This needs further investigation but the workaround not to close
         the handles will have a marginal hit of three extra handles per
index 84e530d..7277d5f 100644 (file)
@@ -551,7 +551,6 @@ wincapc::init ()
     {
       ((wincaps *)caps)->needs_count_in_si_lpres2 = false;
       ((wincaps *)caps)->has_restricted_stack_args = false;
-      ((wincaps *)caps)->has_console_handle_problem = false;
     }
 
   __small_sprintf (osnam, "NT-%d.%d", version.dwMajorVersion,