diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index a92ce1b22..746730b15 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,9 @@ +2004-01-16 Christopher Faylor + + * fhandler_console.cc (fhandler_console::close): Remove obsolete test + for vfork_cleanup. + * pipe.cc (fhandler_pipe::close): Add comment. + 2004-01-16 Christopher Faylor * cygheap.cc (init_cygheap::close_ctty): Don't NULL ctty if it is still 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 ())