* cygwin.din: Remove some _tc* exports. Add tcgetsid().

* dtable.cc (fh_alloc): Revert ill-advised setting of major/minor.  Use new
is_dev_tty to remember that this device was opened as /dev/tty.
* fhandler.cc (fhandler_base::fstat): Remove leftover debugging statement.
(fhandler_base::tcgetsid): New function.
* fhandler.h ((fhandler_base::tcgetsid): Declare new function.
(fhandler_base::is_dev_tty): Ditto.
(fhandler_termios::opened_as_dev_tty): Declare new field.
(fhandler_termios::is_dev_tty): Declare new function.
(fhandler_termios::tcgetsid): Ditto.
(fhandler_pty_common::use_archetype): Move here from subclass.
(fhandler_pty_slave::use_archetype): Move up.
(fhandler_pty_master::use_archetype): Ditto.
* fhandler_console.cc (fhandler_console::ioctl): Rename second argument from
`buf' to `arg' for consistency.  Call ioctl_termios for common fhandler_termios
ioctl handling.
* fhandler_tty.cc (fhandler_pty_slave::ioctl): Call ioctl_termios for common
fhandler_termios ioctl handling.
(fhandler_pty_master::ioctl): Ditto.
* fhandler_termios.cc (fhandler_termios::tcgetsid): Implement new function.
(fhandler_termios::ioctl_termios): Ditto.  Implements TIOCSCTTY handling.
* syscalls.cc (stat_worker): Set /dev/tty device info when appropriate.
* termios.cc (tcgetpgrp): Avoid extraneous "isatty" check.
(tcgetsid): Implement new function.
* include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR to 253.
* include/sys/termios.h (TIOCSCTTY): Define.
This commit is contained in:
Christopher Faylor
2011-10-11 23:20:38 +00:00
parent 14b9008cca
commit 4add6f8db1
12 changed files with 132 additions and 33 deletions

View File

@@ -1167,6 +1167,7 @@ fhandler_base::ioctl (unsigned int cmd, void *buf)
res = 0;
break;
case FIONREAD:
case TIOCSCTTY:
set_errno (ENOTTY);
res = -1;
break;
@@ -1190,8 +1191,6 @@ fhandler_base::lock (int, struct __flock64 *)
int __stdcall
fhandler_base::fstat (struct __stat64 *buf)
{
debug_printf ("here");
if (is_fs_special ())
return fstat_fs (buf);
@@ -1391,6 +1390,13 @@ fhandler_base::tcgetpgrp ()
return -1;
}
int
fhandler_base::tcgetsid ()
{
set_errno (ENOTTY);
return -1;
}
void
fhandler_base::operator delete (void *p)
{