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:
authorChristopher Faylor <me@cgf.cx>2004-01-17 06:47:27 +0300
committerChristopher Faylor <me@cgf.cx>2004-01-17 06:47:27 +0300
commit46ee54222e0b68f87d541dd26026ec9bc649afed (patch)
treec0a4ab40c0f8f2b826617308ac6e0815e347001e
parent49d0c04260e7bca17cdaf48c5cc4dffea5e312ab (diff)
* fhandler_console.cc (fhandler_console::close): Remove obsolete test for
vfork_cleanup. * pipe.cc (fhandler_pipe::close): Add comment.
-rw-r--r--winsup/cygwin/ChangeLog6
-rw-r--r--winsup/cygwin/fhandler_console.cc3
-rw-r--r--winsup/cygwin/pipe.cc3
3 files changed, 10 insertions, 2 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index a92ce1b22..746730b15 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,11 @@
2004-01-16 Christopher Faylor <cgf@redhat.com>
+ * fhandler_console.cc (fhandler_console::close): Remove obsolete test
+ for vfork_cleanup.
+ * pipe.cc (fhandler_pipe::close): Add comment.
+
+2004-01-16 Christopher Faylor <cgf@redhat.com>
+
* cygheap.cc (init_cygheap::close_ctty): Don't NULL ctty if it is still
active.
diff --git a/winsup/cygwin/fhandler_console.cc b/winsup/cygwin/fhandler_console.cc
index af825defb..c1d8c9384 100644
--- a/winsup/cygwin/fhandler_console.cc
+++ b/winsup/cygwin/fhandler_console.cc
@@ -677,8 +677,7 @@ fhandler_console::close (void)
CloseHandle (get_output_handle ());
set_io_handle (NULL);
set_output_handle (NULL);
- if (!cygheap->fdtab.in_vfork_cleanup () && --(cygheap->open_fhs) <= 0
- && myself->ctty != TTY_CONSOLE)
+ if (--(cygheap->open_fhs) <= 0 && myself->ctty != TTY_CONSOLE)
{
syscall_printf ("open_fhs %d", cygheap->open_fhs);
FreeConsole ();
diff --git a/winsup/cygwin/pipe.cc b/winsup/cygwin/pipe.cc
index 242556ad6..abc9a81a3 100644
--- a/winsup/cygwin/pipe.cc
+++ b/winsup/cygwin/pipe.cc
@@ -89,6 +89,9 @@ fhandler_pipe::close ()
CloseHandle (guard);
if (writepipe_exists)
CloseHandle (writepipe_exists);
+ // FIXME is this vfork_cleanup test right? Is it responsible for some of
+ // the strange pipe behavior that has been reported in the cygwin mailing
+ // list?
if (read_state && !cygheap->fdtab.in_vfork_cleanup ())
CloseHandle (read_state);
if (get_handle ())