Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2009-08-09 00:24:54 +0400
committerCorinna Vinschen <corinna@vinschen.de>2009-08-09 00:24:54 +0400
commit7be107ce24f935a4523c616c3d1f39dfeaf1e167 (patch)
tree998a31c77f52ca3c1e17f202da073a53d2cb963d /winsup/cygwin
parent75bf04114e2b734052d4635175522150c3fb1872 (diff)
* 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.
Diffstat (limited to 'winsup/cygwin')
-rw-r--r--winsup/cygwin/ChangeLog7
-rw-r--r--winsup/cygwin/dtable.cc30
-rw-r--r--winsup/cygwin/wincap.cc1
3 files changed, 19 insertions, 19 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 10cb43e72..36eb08975 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -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
diff --git a/winsup/cygwin/dtable.cc b/winsup/cygwin/dtable.cc
index aa4c6e7f6..e7943c4c6 100644
--- a/winsup/cygwin/dtable.cc
+++ b/winsup/cygwin/dtable.cc
@@ -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
diff --git a/winsup/cygwin/wincap.cc b/winsup/cygwin/wincap.cc
index 84e530d3f..7277d5f63 100644
--- a/winsup/cygwin/wincap.cc
+++ b/winsup/cygwin/wincap.cc
@@ -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,