about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog2
-rw-r--r--hurd/hurdselect.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 0474b0f035..fa48858f52 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -12,6 +12,8 @@
 	SF_ARCHIVED, SF_IMMUTABLE, SF_APPEND, SF_NOUNLINK, SF_SNAPSHOT):
 	Declare macros.
 	[__USE_MISC] (chflags, fchflags): Declare functions.
+	* hurd/hurdselect.c (_hurd_select): In the poll case, do not return
+	EINVAL when nfds is greater than FD_SETSIZE.
 
 2015-02-06  Roland McGrath  <roland@hack.frob.com>
 
diff --git a/hurd/hurdselect.c b/hurd/hurdselect.c
index 279ee5ec19..2996be2c8b 100644
--- a/hurd/hurdselect.c
+++ b/hurd/hurdselect.c
@@ -67,7 +67,7 @@ _hurd_select (int nfds,
   assert (sizeof (union typeword) == sizeof (mach_msg_type_t));
   assert (sizeof (uint32_t) == sizeof (mach_msg_type_t));
 
-  if (nfds < 0 || nfds > FD_SETSIZE)
+  if (nfds < 0 || (pollfds == NULL && nfds > FD_SETSIZE))
     {
       errno = EINVAL;
       return -1;