From 53f00290819bd294d31d12bb93e8e5e887ad3aef Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Thu, 1 Nov 2001 23:48:34 +0000 Subject: * cygheap.h (cygheap_fdmanip::isopen): Set appropriate errno if fd not open. * select.cc (fhandler_base::ready_for_read): Release an open guard mutex when exiting with an error condition. * syscalls.cc (_read): Check frequently for closed fd as a kludge until something better is invented. --- winsup/cygwin/select.cc | 3 +++ 1 file changed, 3 insertions(+) (limited to 'winsup/cygwin/select.cc') diff --git a/winsup/cygwin/select.cc b/winsup/cygwin/select.cc index 2b807e388..bcfc56f02 100644 --- a/winsup/cygwin/select.cc +++ b/winsup/cygwin/select.cc @@ -1102,6 +1102,9 @@ fhandler_base::ready_for_read (int fd, DWORD howlong, int ignra) } } + if (get_guard () && !avail && me.read_ready) + ReleaseMutex (get_guard ()); + select_printf ("read_ready %d, avail %d", me.read_ready, avail); return avail; } -- cgit v1.2.3