diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index b36bd8073..5b631592b 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,11 @@ +2002-11-13 Christopher Faylor + + * ioctl.cc (ioctl): Always print ioctl results, even when it's a tty. + +2002-11-13 Christopher Faylor + + * winsup.h (low_priority_sleep): Declare. + 2002-11-13 Christopher Faylor * miscfuncs.cc (low_priority_sleep): New function. Use throughout diff --git a/winsup/cygwin/ioctl.cc b/winsup/cygwin/ioctl.cc index e15d54437..9f219ecd6 100644 --- a/winsup/cygwin/ioctl.cc +++ b/winsup/cygwin/ioctl.cc @@ -39,20 +39,27 @@ ioctl (int fd, int cmd, ...) va_end (ap); debug_printf ("fd %d, cmd %x", fd, cmd); + int res; if (cfd->is_tty () && cfd->get_device () != FH_PTYM) switch (cmd) { case TCGETA: - return tcgetattr (fd, (struct termios *) argp); + res = tcgetattr (fd, (struct termios *) argp); + goto out; case TCSETA: - return tcsetattr (fd, TCSANOW, (struct termios *) argp); + res = tcsetattr (fd, TCSANOW, (struct termios *) argp); + goto out; case TCSETAW: - return tcsetattr (fd, TCSADRAIN, (struct termios *) argp); + res = tcsetattr (fd, TCSADRAIN, (struct termios *) argp); + goto out; case TCSETAF: - return tcsetattr (fd, TCSAFLUSH, (struct termios *) argp); + res = tcsetattr (fd, TCSAFLUSH, (struct termios *) argp); + goto out; } - int res = cfd->ioctl (cmd, argp); + res = cfd->ioctl (cmd, argp); + +out: debug_printf ("returning %d", res); return res; }