aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/pinfo.cc5
2 files changed, 6 insertions, 4 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 84def7e..78e66fbb 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,10 @@
2003-12-08 Christopher Faylor <cgf@redhat.com>
+ * pinfo.cc (_pinfo::set_ctty): Don't copy over existing ctty if it is
+ active.
+
+2003-12-08 Christopher Faylor <cgf@redhat.com>
+
* thread.cc (pthread::precreate): Delete duplicate setting of
cancel_event.
diff --git a/winsup/cygwin/pinfo.cc b/winsup/cygwin/pinfo.cc
index b0f58b4..dfd140f 100644
--- a/winsup/cygwin/pinfo.cc
+++ b/winsup/cygwin/pinfo.cc
@@ -257,7 +257,6 @@ pinfo::set_acl()
void
_pinfo::set_ctty (tty_min *tc, int flags, fhandler_tty_slave *fhctty)
{
- int initial_ctty = ctty;
if ((ctty < 0 || ctty == tc->ntty) && !(flags & O_NOCTTY))
{
ctty = tc->ntty;
@@ -277,10 +276,8 @@ _pinfo::set_ctty (tty_min *tc, int flags, fhandler_tty_slave *fhctty)
sid = tc->getsid ();
if (tc->getpgid () == 0)
tc->setpgid (pgid);
- if (fhctty)
+ if (fhctty && !cygheap->ctty.get_io_handle ())
cygheap->ctty = *fhctty;
- else if (initial_ctty < 0)
- assert (cygheap->ctty.get_io_handle () == NULL);
}
}