From a3cfd73ac9146404bc5fc4f44a832aa99749211c Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Thu, 24 Aug 2000 21:19:14 +0000 Subject: * select.cc (cygwin_select): Correct logic for "always_ready" fds or when there is no wait specified. * syslog.cc (pass_handler::set_message): Zero the buffer prior to setting it. --- winsup/cygwin/select.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'winsup/cygwin/select.cc') diff --git a/winsup/cygwin/select.cc b/winsup/cygwin/select.cc index 99c321b66..2b0bd2d6b 100644 --- a/winsup/cygwin/select.cc +++ b/winsup/cygwin/select.cc @@ -173,8 +173,9 @@ cygwin_select (int maxfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, fd_set *w = allocfd_set (maxfds); fd_set *e = allocfd_set (maxfds); - /* Don't bother waiting if one of the selected fds is "always ready". */ - if ((!sel.always_ready || ms != 0) && sel.wait (r, w, e, ms)) + if (sel.always_ready || ms == 0) + /* Don't bother waiting. */; + else if (sel.wait (r, w, e, ms)) return -1; /* some kind of error */ copyfd_set (readfds, r, maxfds); -- cgit v1.2.3