if it returned -1 (treat as undefined). Ensure we obey
this.
Jeremy.
selret = sys_select(maxfd + 1, &r_fds, &w_fds, NULL, &timeout);
- if (selret == 0)
+ if (selret == 0) {
goto no_fds_ready;
+ }
- if ((selret == -1 && errno != EINTR) || selret == 0) {
+ if (selret == -1) {
+ if (errno == EINTR) {
+ goto no_fds_ready;
+ }
/* Select error, something is badly wrong */
exit(1);
}
+ /* selret > 0 */
+
ev = fd_events;
while (ev != NULL) {
struct fd_event *next = ev->next;