* 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.
This commit is contained in:
parent
4c34aaba55
commit
be96a30c43
|
@ -1,3 +1,9 @@
|
|||
2011-10-10 Christopher Faylor <me.cygwin2011@cgf.cx>
|
||||
|
||||
* 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.
|
||||
|
||||
2011-10-10 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* fhandler.h (fhandler_process::closedir): Declare.
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -103,6 +103,7 @@ tty_list::connect (int ttynum)
|
|||
if (!ttys[ttynum].exists ())
|
||||
{
|
||||
termios_printf ("tty %d was not allocated", ttynum);
|
||||
set_errno (ENXIO);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue