X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=klibc%2Fklibc%2Finclude%2Fsignal.h;h=513b4e5a04687e5e80704ab511007360aa7161ea;hb=01504bd96b6e7cb6ad1350d6d0a0c6a1300409b8;hp=e383755b2066e6f6ef35b92190f90f16abcf4f93;hpb=1e959a4b05f93bf31d0603a027b50cb148ef7e90;p=elogind.git diff --git a/klibc/klibc/include/signal.h b/klibc/klibc/include/signal.h index e383755b2..513b4e5a0 100644 --- a/klibc/klibc/include/signal.h +++ b/klibc/klibc/include/signal.h @@ -11,6 +11,14 @@ #include #include +#include + +/* 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 *);