* select.cc (fhandler_tty_slave::ready_for_read): Return 0 on EBADF.
* syscalls.cc (_read): If ready_for_read() failed, save errno from being overwritten by signal handler call.
This commit is contained in:
parent
418c02db8f
commit
036fd823dc
|
@ -1,3 +1,9 @@
|
||||||
|
2001-11-08 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
|
* select.cc (fhandler_tty_slave::ready_for_read): Return 0 on EBADF.
|
||||||
|
* syscalls.cc (_read): If ready_for_read() failed, save errno from
|
||||||
|
being overwritten by signal handler call.
|
||||||
|
|
||||||
2001-11-07 Corinna Vinschen <corinna@vinschen.de>
|
2001-11-07 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
* lib/getopt.c (getopt_internal): Reset optind to 1 only if optreset
|
* lib/getopt.c (getopt_internal): Reset optind to 1 only if optreset
|
||||||
|
|
|
@ -781,7 +781,7 @@ fhandler_tty_slave::ready_for_read (int fd, DWORD howlong)
|
||||||
if (cygheap->fdtab.not_open (fd))
|
if (cygheap->fdtab.not_open (fd))
|
||||||
{
|
{
|
||||||
set_errno (EBADF);
|
set_errno (EBADF);
|
||||||
return 1;
|
return 0;
|
||||||
}
|
}
|
||||||
if (get_readahead_valid ())
|
if (get_readahead_valid ())
|
||||||
{
|
{
|
||||||
|
|
|
@ -314,6 +314,7 @@ _read (int fd, void *ptr, size_t len)
|
||||||
debug_printf ("non-interruptible read\n");
|
debug_printf ("non-interruptible read\n");
|
||||||
else if (!cfd->ready_for_read (fd, wait))
|
else if (!cfd->ready_for_read (fd, wait))
|
||||||
{
|
{
|
||||||
|
set_sig_errno (get_errno ());
|
||||||
res = -1;
|
res = -1;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue