chiark / gitweb /
[PATCH] sync with latest version of klibc (0.107)
[elogind.git] / klibc / klibc / include / signal.h
index e383755b2066e6f6ef35b92190f90f16abcf4f93..513b4e5a04687e5e80704ab511007360aa7161ea 100644 (file)
 #include <sys/types.h>
 #include <asm/signal.h>
 
+#include <klibc/archsignal.h>
+
+/* glibc seems to use sig_atomic_t as "int" pretty much on all architectures.
+   Do the same, but allow the architecture to override. */
+#ifdef _KLIBC_HAS_ARCH_SIG_ATOMIC_T
+typedef int sig_atomic_t;
+#endif
+
 /* Some architectures don't define these */
 #ifndef SA_RESETHAND
 # define SA_RESETHAND SA_ONESHOT
@@ -22,8 +30,6 @@
 # define NSIG _NSIG
 #endif
 
-typedef int sig_atomic_t;
-
 __extern const char * const sys_siglist[];
 
 /* This assumes sigset_t is either an unsigned long or an array of such,
@@ -58,7 +64,7 @@ static __inline__ int sigismember(sigset_t *__set, int __signum)
 }
 
 __extern __sighandler_t __signal(int, __sighandler_t, int);
-__extern __sighandler_t signal(int, __sighandler_t);
+__extern __sighandler_t sysv_signal(int, __sighandler_t);
 __extern __sighandler_t bsd_signal(int, __sighandler_t);
 __extern int sigaction(int, const struct sigaction *, struct sigaction *);
 __extern int sigprocmask(int, const sigset_t *, sigset_t *);