]> sourceware.org Git - glibc.git/commitdiff
Avoid unnecessary sigprocmask calls.
authorUlrich Drepper <drepper@redhat.com>
Fri, 11 Oct 2002 07:14:39 +0000 (07:14 +0000)
committerUlrich Drepper <drepper@redhat.com>
Fri, 11 Oct 2002 07:14:39 +0000 (07:14 +0000)
sysdeps/generic/pselect.c

index 29f4beaf979e3a104e696a80f5b31df434b26ec6..031540e81d1f39cc8887e224543fa7ca61f9c9bf 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997, 1998, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997, 1998, 2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
 
@@ -42,7 +42,7 @@ __pselect (nfds, readfds, writefds, exceptfds, timeout, sigmask)
   int retval;
   sigset_t savemask;
 
-  /* Change nanosecond number to microseconds.  This may loose
+  /* Change nanosecond number to microseconds.  This might mean losing
      precision and therefore the `pselect` should be available.  But
      for now it is hardly found.  */
   if (timeout != NULL)
@@ -51,10 +51,14 @@ __pselect (nfds, readfds, writefds, exceptfds, timeout, sigmask)
   /* The setting and restoring of the signal mask and the select call
      should be an atomic operation.  This can't be done without kernel
      help.  */
-  __sigprocmask (SIG_SETMASK, sigmask, &savemask);
+  if (sigmask != NULL)
+    __sigprocmask (SIG_SETMASK, sigmask, &savemask);
+
   retval = __select (nfds, readfds, writefds, exceptfds,
                     timeout != NULL ? &tval : NULL);
-  __sigprocmask (SIG_SETMASK, &savemask, NULL);
+
+  if (sigmask != NULL)
+    __sigprocmask (SIG_SETMASK, &savemask, NULL);
 
   return retval;
 }
This page took 0.043199 seconds and 5 git commands to generate.