about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--sysdeps/mach/hurd/select.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sysdeps/mach/hurd/select.c b/sysdeps/mach/hurd/select.c
index 001a28b541..d1702874cc 100644
--- a/sysdeps/mach/hurd/select.c
+++ b/sysdeps/mach/hurd/select.c
@@ -284,15 +284,15 @@ DEFUN(__select, (nfds, readfds, writefds, exceptfds, timeout),
 
       if (type & SELECT_READ)
 	got++;
-      else
+      else if (readfds)
 	FD_CLR (i, readfds);
       if (type & SELECT_WRITE)
 	got++;
-      else
+      else if (writefds)
 	FD_CLR (i, writefds);
       if (type & SELECT_URG)
 	got++;
-      else
+      else if (exceptfds)
 	FD_CLR (i, exceptfds);
     }