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>2013-12-17 23:05:26 +0400
committerChristopher Faylor <me@cgf.cx>2013-12-17 23:05:26 +0400
commit891b1e7e22ff6a20040c81b0e21bfe977cbee445 (patch)
treefb3b68c5a92ed9e881c79f8f427cb615cd0b2b42
parentf51db32d8c8e45123a9465f1a49dd0b7fa036938 (diff)
* fhandler.h (fhandler_pty_master::~fhandler_pty_master): Delete.
* fhandler_tty.cc (fhandler_pty_master::~fhandler_pty_master): Ditto.
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/fhandler.h1
-rw-r--r--winsup/cygwin/fhandler_tty.cc9
-rw-r--r--winsup/cygwin/release/1.7.283
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 <me.cygwin2013@cgf.cx>
+
+ * fhandler.h (fhandler_pty_master::~fhandler_pty_master): Delete.
+ * fhandler_tty.cc (fhandler_pty_master::~fhandler_pty_master): Ditto.
+
2013-12-11 Corinna Vinschen <corinna@vinschen.de>
* 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