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>2011-10-11 02:01:06 +0400
committerChristopher Faylor <me@cgf.cx>2011-10-11 02:01:06 +0400
commitbe96a30c4370868ab29294ba09057e45bfb4bc2d (patch)
tree14456d684b1dc705335d43348a03d4251a877484 /winsup/cygwin/syscalls.cc
parent4c34aaba558c4c46dc430b7e403d768da510d977 (diff)
* syscalls.cc (open): Add temporary kludge to avoid assigning the controlling
tty on open unless the open is for stdin/stdout/stderr. * tty.cc (tty_list::connect): Set ENXIO when can't find a tty.
Diffstat (limited to 'winsup/cygwin/syscalls.cc')
-rw-r--r--winsup/cygwin/syscalls.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/winsup/cygwin/syscalls.cc b/winsup/cygwin/syscalls.cc
index 54d75d0e9..162825442 100644
--- a/winsup/cygwin/syscalls.cc
+++ b/winsup/cygwin/syscalls.cc
@@ -1130,6 +1130,12 @@ open (const char *unix_path, int flags, ...)
if (fd >= 0)
{
+ /* This is a temporary kludge until all utilities can catch up with
+ a change in behavior that implements linux functionality: opening
+ a tty should not automatically cause it to become the controlling
+ tty for the process. */
+ if (fd > 2)
+ flags |= O_NOCTTY;
if (!(fh = build_fh_name (unix_path,
(flags & (O_NOFOLLOW | O_EXCL))
? PC_SYM_NOFOLLOW : PC_SYM_FOLLOW,