* fhandler_tty.cc (fhandler_pty_master::accept_input): Move read_retval

assignment to prevent race condition.  Remove read_retval from return
statement.
This commit is contained in:
Christopher Faylor 2002-11-30 22:23:01 +00:00
parent 73593ea1dd
commit 4f96ae699c
2 changed files with 15 additions and 4 deletions

View File

@ -1,3 +1,9 @@
2002-11-29 Steve Osborn <bub@io.com>
* fhandler_tty.cc (fhandler_pty_master::accept_input): Move
read_retval assignment to prevent race condition. Remove read_retval
from return statement.
2002-11-29 Christopher Faylor <cgf@redhat.com>
* pinfo.h (winpids::set): Renamed from init.

View File

@ -153,7 +153,6 @@ fhandler_pty_master::accept_input ()
rc = WaitForSingleObject (input_mutex, INFINITE);
bytes_left = n = eat_readahead (-1);
get_ttyp ()->read_retval = 0;
p = rabuf;
if (n != 0)
@ -165,9 +164,12 @@ fhandler_pty_master::accept_input ()
if (!rc)
{
debug_printf ("error writing to pipe %E");
get_ttyp ()->read_retval = -1;
break;
}
get_ttyp ()->read_retval += written;
else
get_ttyp ()->read_retval = 1;
p += written;
bytes_left -= written;
if (bytes_left > 0)
@ -181,10 +183,13 @@ fhandler_pty_master::accept_input ()
}
}
else
termios_printf ("sending EOF to slave");
{
termios_printf ("sending EOF to slave");
get_ttyp ()->read_retval = 0;
}
SetEvent (input_available_event);
ReleaseMutex (input_mutex);
return get_ttyp ()->read_retval;
return 1;
}
static DWORD WINAPI