diff options
author | Christopher Faylor <me@cgf.cx> | 2003-12-09 06:27:05 +0300 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2003-12-09 06:27:05 +0300 |
commit | 7176387b4fadccb76d53f2298cddcca1cad331b5 (patch) | |
tree | 45f0f4d6c2074a2501061b4bb959f7846afe7b31 /winsup/cygwin | |
parent | 91ec94b67c7470b2c3bdcfae3301087fbd1fa4b8 (diff) |
* pinfo.cc (_pinfo::set_ctty): Don't copy over existing ctty if it is active.
Diffstat (limited to 'winsup/cygwin')
-rw-r--r-- | winsup/cygwin/ChangeLog | 5 | ||||
-rw-r--r-- | winsup/cygwin/pinfo.cc | 5 |
2 files changed, 6 insertions, 4 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 84def7ec0..78e66fbb5 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 b0f58b484..dfd140f0f 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); } } |