summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/syscalls.cc2
2 files changed, 6 insertions, 1 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 67771d225..55a38b0fa 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,8 @@
+2012-02-10 Christopher Faylor <me.cygwin2012@cgf.cx>
+
+ * syscalls.cc (open): Semi-revert (?) to allowing open of a tty to
+ become controlling tty if there is no controlling tty.
+
2012-02-09 Christopher Faylor <me.cygwin2012@cgf.cx>
* exceptions.cc (setup_handler): Reduce system_printf to sigproc_printf
diff --git a/winsup/cygwin/syscalls.cc b/winsup/cygwin/syscalls.cc
index e392220c3..27063ec23 100644
--- a/winsup/cygwin/syscalls.cc
+++ b/winsup/cygwin/syscalls.cc
@@ -1275,7 +1275,7 @@ open (const char *unix_path, int flags, ...)
tty for the process. */
int opt = PC_OPEN | ((flags & (O_NOFOLLOW | O_EXCL))
? PC_SYM_NOFOLLOW : PC_SYM_FOLLOW);
- if (!(flags & O_NOCTTY) && fd > 2)
+ if (!(flags & O_NOCTTY) && fd > 2 && myself->ctty > 0)
{
flags |= O_NOCTTY;
opt |= PC_CTTY; /* flag that, if opened, this fhandler could