svn commit: trunk/uClibc/libc: pwd_grp signal sysdeps/linux/common

vda at uclibc.org vda at uclibc.org
Mon Dec 1 18:41:56 UTC 2008


Author: vda
Date: 2008-12-01 10:41:55 -0800 (Mon, 01 Dec 2008)
New Revision: 24222

Log:
remove checks for "impossible" errors,
clarify uses of unoptimized sigXXX ops (they check signo),
use faster sigops where approproate.

    text           data     bss     dec     hex filename
-     68              0       0      68      44 libc/signal/sighold.o
+     63              0       0      63      3f libc/signal/sighold.o
-    114              0       0     114      72 libc/signal/sigintr.o
+    110              0       0     110      6e libc/signal/sigintr.o
-    113              0       0     113      71 libc/signal/sigpause.o
+    108              0       0     108      6c libc/signal/sigpause.o
-     68              0       0      68      44 libc/signal/sigrelse.o
+     63              0       0      63      3f libc/signal/sigrelse.o



Modified:
   trunk/uClibc/libc/pwd_grp/lckpwdf.c
   trunk/uClibc/libc/signal/sighold.c
   trunk/uClibc/libc/signal/sigintr.c
   trunk/uClibc/libc/signal/sigpause.c
   trunk/uClibc/libc/signal/sigrelse.c
   trunk/uClibc/libc/sysdeps/linux/common/ssp.c


Changeset:
Modified: trunk/uClibc/libc/pwd_grp/lckpwdf.c
===================================================================
--- trunk/uClibc/libc/pwd_grp/lckpwdf.c	2008-12-01 18:00:04 UTC (rev 24221)
+++ trunk/uClibc/libc/pwd_grp/lckpwdf.c	2008-12-01 18:41:55 UTC (rev 24222)
@@ -123,7 +123,7 @@
 
   /* Now make sure the alarm signal is not blocked.  */
   __sigemptyset (&new_set);
-  sigaddset (&new_set, SIGALRM);
+  __sigaddset (&new_set, SIGALRM);
 #if 1
   sigprocmask (SIG_UNBLOCK, &new_set, &saved_set);
 #else /* never fails */

Modified: trunk/uClibc/libc/signal/sighold.c
===================================================================
--- trunk/uClibc/libc/signal/sighold.c	2008-12-01 18:00:04 UTC (rev 24221)
+++ trunk/uClibc/libc/signal/sighold.c	2008-12-01 18:41:55 UTC (rev 24222)
@@ -30,10 +30,9 @@
   sigset_t set;
 
   /* Retrieve current signal set.  */
-  if (sigprocmask (SIG_SETMASK, NULL, &set) < 0)
-    return -1;
+  sigprocmask (SIG_SETMASK, NULL, &set); /* can't fail */
 
-  /* Add the specified signal.  */
+  /* Bound-check sig, add it to the set.  */
   if (sigaddset (&set, sig) < 0)
     return -1;
 

Modified: trunk/uClibc/libc/signal/sigintr.c
===================================================================
--- trunk/uClibc/libc/signal/sigintr.c	2008-12-01 18:00:04 UTC (rev 24221)
+++ trunk/uClibc/libc/signal/sigintr.c	2008-12-01 18:41:55 UTC (rev 24222)
@@ -34,7 +34,7 @@
 #ifdef	SA_RESTART
   struct sigaction action;
 
-  if (sigaction (sig, (struct sigaction *) NULL, &action) < 0)
+  if (sigaction (sig, NULL, &action) < 0)
     return -1;
 
   if (interrupt)
@@ -48,10 +48,7 @@
       action.sa_flags |= SA_RESTART;
     }
 
-  if (sigaction (sig, &action, (struct sigaction *) NULL) < 0)
-    return -1;
-
-  return 0;
+  return sigaction (sig, &action, NULL);
 #else
   __set_errno (ENOSYS);
   return -1;

Modified: trunk/uClibc/libc/signal/sigpause.c
===================================================================
--- trunk/uClibc/libc/signal/sigpause.c	2008-12-01 18:00:04 UTC (rev 24221)
+++ trunk/uClibc/libc/signal/sigpause.c	2008-12-01 18:41:55 UTC (rev 24222)
@@ -40,12 +40,10 @@
 
   if (is_sig)
     {
-//TODO: error check for sig_or_mask = BIGNUM?
-
       /* The modern X/Open implementation is requested.  */
-      if (sigprocmask (0, NULL, &set) < 0
-	  /* Yes, we call `sigdelset' and not `__sigdelset'.  */
-	  || sigdelset (&set, sig_or_mask) < 0)
+      sigprocmask (SIG_BLOCK, NULL, &set);
+      /* Bound-check sig_or_mask, remove it from the set.  */
+      if (sigdelset (&set, sig_or_mask) < 0)
 	return -1;
     }
   else

Modified: trunk/uClibc/libc/signal/sigrelse.c
===================================================================
--- trunk/uClibc/libc/signal/sigrelse.c	2008-12-01 18:00:04 UTC (rev 24221)
+++ trunk/uClibc/libc/signal/sigrelse.c	2008-12-01 18:41:55 UTC (rev 24222)
@@ -30,10 +30,9 @@
   sigset_t set;
 
   /* Retrieve current signal set.  */
-  if (sigprocmask (SIG_SETMASK, NULL, &set) < 0)
-    return -1;
+  sigprocmask (SIG_SETMASK, NULL, &set); /* can't fail */
 
-  /* Remove the specified signal.  */
+  /* Bound-check sig, remove it from the set.  */
   if (sigdelset (&set, sig) < 0)
     return -1;
 

Modified: trunk/uClibc/libc/sysdeps/linux/common/ssp.c
===================================================================
--- trunk/uClibc/libc/sysdeps/linux/common/ssp.c	2008-12-01 18:00:04 UTC (rev 24221)
+++ trunk/uClibc/libc/sysdeps/linux/common/ssp.c	2008-12-01 18:41:55 UTC (rev 24222)
@@ -52,8 +52,7 @@
 	sigset_t mask;
 
 	__sigfillset(&mask);
-
-	sigdelset(&mask, SSP_SIGTYPE);	/* Block all signal handlers */
+	__sigdelset(&mask, SSP_SIGTYPE);	/* Block all signal handlers */
 	sigprocmask(SIG_BLOCK, &mask, NULL);	/* except SSP_SIGTYPE */
 
 	/* Make the default handler associated with the signal handler */




More information about the uClibc-cvs mailing list