about summary refs log tree commit diff
path: root/hurd/alloc-fd.c
diff options
context:
space:
mode:
Diffstat (limited to 'hurd/alloc-fd.c')
-rw-r--r--hurd/alloc-fd.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/hurd/alloc-fd.c b/hurd/alloc-fd.c
index 60c8b00897..4edc742122 100644
--- a/hurd/alloc-fd.c
+++ b/hurd/alloc-fd.c
@@ -34,10 +34,7 @@ _hurd_alloc_fd (int *fd, int first_fd)
   long int rlimit;
 
   if (first_fd < 0)
-    {
-      errno = EINVAL;
-      return NULL;
-    }
+    return __hurd_fail (EINVAL), NULL;
 
   crit = _hurd_critical_section_lock ();
 
@@ -99,7 +96,7 @@ _hurd_alloc_fd (int *fd, int first_fd)
 	  if (size * sizeof (*_hurd_dtable) < size)
 	    {
 	      /* Integer overflow! */
-	      errno = ENOMEM;
+	      __hurd_fail (ENOMEM);
 	      goto out;
 	    }
 
@@ -124,13 +121,13 @@ _hurd_alloc_fd (int *fd, int first_fd)
 	      goto search;
 	    }
 	  else
-	    errno = ENOMEM;
+	    __hurd_fail (ENOMEM);
 	}
       else
-	errno = EMFILE;
+	__hurd_fail (EMFILE);
     }
   else
-    errno = EINVAL;		/* Bogus FIRST_FD value.  */
+    __hurd_fail (EINVAL);	/* Bogus FIRST_FD value.  */
 
  out:
   __mutex_unlock (&_hurd_dtable_lock);