From e64a50ed4e8ac5a57c1728b17ff24f866a9ad6cf Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Fri, 24 Oct 2003 01:13:22 +0000 Subject: * fhandler_tty.cc (fhandler_tty_slave::ioctl): Properly set return value in FIONBIO case. --- winsup/cygwin/fhandler_tty.cc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'winsup/cygwin/fhandler_tty.cc') 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; } -- cgit v1.2.3