From e64a50ed4e8ac5a57c1728b17ff24f866a9ad6cf Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Fri, 24 Oct 2003 01:13:22 +0000 Subject: [PATCH] * fhandler_tty.cc (fhandler_tty_slave::ioctl): Properly set return value in FIONBIO case. --- winsup/cygwin/ChangeLog | 5 +++++ winsup/cygwin/fhandler_tty.cc | 8 +++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index a0db4f494..cc3937081 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2003-10-23 Christopher Faylor + + * fhandler_tty.cc (fhandler_tty_slave::ioctl): Properly set return + value in FIONBIO case. + 2003-10-23 Corinna Vinschen * fhandler_proc.cc (format_proc_partitions): Use new device code diff --git a/winsup/cygwin/fhandler_tty.cc b/winsup/cygwin/fhandler_tty.cc index 0629f2d3f..377a875fa 100644 --- a/winsup/cygwin/fhandler_tty.cc +++ b/winsup/cygwin/fhandler_tty.cc @@ -1025,6 +1025,7 @@ fhandler_tty_slave::ioctl (unsigned int cmd, void *arg) raise (SIGTTOU); } + int retval; switch (cmd) { case TIOCGWINSZ: @@ -1033,6 +1034,7 @@ fhandler_tty_slave::ioctl (unsigned int cmd, void *arg) break; case FIONBIO: set_nonblocking (*(int *) arg); + retval = 0; goto out; default: set_errno (EINVAL); @@ -1086,14 +1088,14 @@ fhandler_tty_slave::ioctl (unsigned int cmd, void *arg) } release_output_mutex (); - -out: - int retval = get_ttyp ()->ioctl_retval; + retval = get_ttyp ()->ioctl_retval; if (retval < 0) { set_errno (-retval); retval = -1; } + +out: termios_printf ("%d = ioctl (%x)", retval, cmd); return retval; }