From 891b1e7e22ff6a20040c81b0e21bfe977cbee445 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Tue, 17 Dec 2013 19:05:26 +0000 Subject: * fhandler.h (fhandler_pty_master::~fhandler_pty_master): Delete. * fhandler_tty.cc (fhandler_pty_master::~fhandler_pty_master): Ditto. --- winsup/cygwin/ChangeLog | 5 +++++ winsup/cygwin/fhandler.h | 1 - winsup/cygwin/fhandler_tty.cc | 9 --------- winsup/cygwin/release/1.7.28 | 3 +++ 4 files changed, 8 insertions(+), 10 deletions(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 0b0b9fdca..618b8d88e 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2013-12-17 Christopher Faylor + + * fhandler.h (fhandler_pty_master::~fhandler_pty_master): Delete. + * fhandler_tty.cc (fhandler_pty_master::~fhandler_pty_master): Ditto. + 2013-12-11 Corinna Vinschen * syscalls.cc (NT_TRANSACTIONAL_ERROR): Define. diff --git a/winsup/cygwin/fhandler.h b/winsup/cygwin/fhandler.h index 705363bcf..0b930c3cd 100644 --- a/winsup/cygwin/fhandler.h +++ b/winsup/cygwin/fhandler.h @@ -1573,7 +1573,6 @@ public: void flush_to_slave (); fhandler_pty_master (void *) {} - ~fhandler_pty_master (); void copyto (fhandler_base *x) { diff --git a/winsup/cygwin/fhandler_tty.cc b/winsup/cygwin/fhandler_tty.cc index e85fa9426..9d928bd64 100644 --- a/winsup/cygwin/fhandler_tty.cc +++ b/winsup/cygwin/fhandler_tty.cc @@ -1326,15 +1326,6 @@ fhandler_pty_master::close () return 0; } -/* This is just to catch error conditions. Since the constructor - actually opens some handles, and stat() does not open an fd, they need - to be closed when the fhandler goes away. */ -fhandler_pty_master::~fhandler_pty_master () -{ - if (from_master && to_master) - close_with_arch (); -} - ssize_t __stdcall fhandler_pty_master::write (const void *ptr, size_t len) { diff --git a/winsup/cygwin/release/1.7.28 b/winsup/cygwin/release/1.7.28 index 1bc1c01f7..a866adf43 100644 --- a/winsup/cygwin/release/1.7.28 +++ b/winsup/cygwin/release/1.7.28 @@ -13,3 +13,6 @@ Bug Fixes despite the fact that the filesystem claims to handle them, stop transaction and try again without. Fixes: http://cygwin.com/ml/cygwin/2013-12/msg00119.html + +- Closing a dup'ed master tty handle should no longer invalidate the dup'ed fd. + Fixes: http://cygwin.com/ml/cygwin/2013-12/threads.html#00279 -- cgit v1.2.3