aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/fhandler_tty.cc18
2 files changed, 11 insertions, 12 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 5d7d86d..fb9fb11 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,8 @@
+2006-06-12 Christopher Faylor <cgf@timesys.com>
+
+ * fhandler_tty.cc (fhandler_pty_master::close): Always close
+ from_master/to_master since we always have copies of these handles.
+
2006-06-12 Corinna Vinschen <corinna@vinschen.de>
* include/sys/wait.h: Move definition of wait constants from here...
diff --git a/winsup/cygwin/fhandler_tty.cc b/winsup/cygwin/fhandler_tty.cc
index 86d5d88..c623c87 100644
--- a/winsup/cygwin/fhandler_tty.cc
+++ b/winsup/cygwin/fhandler_tty.cc
@@ -1166,18 +1166,12 @@ fhandler_pty_master::close ()
}
fhandler_tty_master *arch = (fhandler_tty_master *) archetype;
- if (arch->dwProcessId != GetCurrentProcessId ())
- termios_printf ("not closing from_master(%p)/to_master(%p) since we don't own them(%d)",
- arch->from_master, arch->to_master, arch->dwProcessId);
- else
- {
- termios_printf ("closing from_master(%p)/to_master(%p) since we own them(%d)",
- arch->from_master, arch->to_master, arch->dwProcessId);
- if (!ForceCloseHandle (arch->from_master))
- termios_printf ("error closing from_master %p, %E", arch->from_master);
- if (!ForceCloseHandle (arch->to_master))
- termios_printf ("error closing from_master %p, %E", arch->to_master);
- }
+ termios_printf ("closing from_master(%p)/to_master(%p) since we own them(%d)",
+ arch->from_master, arch->to_master, arch->dwProcessId);
+ if (!ForceCloseHandle (arch->from_master))
+ termios_printf ("error closing from_master %p, %E", arch->from_master);
+ if (!ForceCloseHandle (arch->to_master))
+ termios_printf ("error closing from_master %p, %E", arch->to_master);
fhandler_tty_common::close ();
if (hExeced || get_ttyp ()->master_pid != myself->pid)