[git commit future] add simplified __sigemptyset for internal use

Peter S. Mazinger ps.m at gmx.net
Thu Apr 14 07:59:26 UTC 2011


commit: http://git.uclibc.org/uClibc/commit/?id=beb625c54e041be004019979218af09eca9cfd55
branch: http://git.uclibc.org/uClibc/commit/?id=refs/heads/future

Use __sigemptyset instead of sigemptyset.
Remove hidden sigemptyset.

Signed-off-by: Peter S. Mazinger <ps.m at gmx.net>
---
 include/signal.h                                   |    7 ++++++-
 libc/signal/sigempty.c                             |    2 --
 .../nptl/sysdeps/unix/sysv/linux/timer_routines.c  |    4 ++--
 3 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/include/signal.h b/include/signal.h
index a95ad15..2924c7e 100644
--- a/include/signal.h
+++ b/include/signal.h
@@ -255,7 +255,6 @@ typedef __sighandler_t sig_t;
 
 /* Clear all signals from SET.  */
 extern int sigemptyset (sigset_t *__set) __THROW __nonnull ((1));
-libc_hidden_proto(sigemptyset)
 
 /* Set all signals in SET.  */
 extern int sigfillset (sigset_t *__set) __THROW __nonnull ((1));
@@ -483,6 +482,12 @@ extern int __libc_current_sigrtmin (void) __THROW;
 /* Return number of available real-time signal with lowest priority.  */
 extern int __libc_current_sigrtmax (void) __THROW;
 
+#ifdef _LIBC
+/* simplified version without parameter checking */
+# include <string.h>
+# undef __sigemptyset
+# define __sigemptyset(ss) (memset(ss, '\0', sizeof(sigset_t)), 0)
+#endif
 #endif /* signal.h  */
 
 __END_DECLS
diff --git a/libc/signal/sigempty.c b/libc/signal/sigempty.c
index b4f180b..2622c08 100644
--- a/libc/signal/sigempty.c
+++ b/libc/signal/sigempty.c
@@ -20,7 +20,6 @@
 #include <signal.h>
 #include <string.h>
 
-
 /* Clear all signals from SET.  */
 int sigemptyset (sigset_t *set)
 {
@@ -36,4 +35,3 @@ int sigemptyset (sigset_t *set)
 
   return 0;
 }
-libc_hidden_def(sigemptyset)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/timer_routines.c b/libpthread/nptl/sysdeps/unix/sysv/linux/timer_routines.c
index 1664af5..2f33e99 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/timer_routines.c
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/timer_routines.c
@@ -49,7 +49,7 @@ timer_sigev_thread (void *arg)
      surprising for user code, although valid.  We unblock all
      signals.  */
   sigset_t ss;
-  sigemptyset (&ss);
+  __sigemptyset (&ss);
   INTERNAL_SYSCALL_DECL (err);
   INTERNAL_SYSCALL (rt_sigprocmask, err, 4, SIG_SETMASK, &ss, NULL, _NSIG / 8);
 
@@ -75,7 +75,7 @@ timer_helper_thread (void *arg)
   /* Wait for the SIGTIMER signal, allowing the setXid signal, and
      none else.  */
   sigset_t ss;
-  sigemptyset (&ss);
+  __sigemptyset (&ss);
   __sigaddset (&ss, SIGTIMER);
 
   /* Endless loop of waiting for signals.  The loop is only ended when
-- 
1.7.3.4



More information about the uClibc-cvs mailing list