diff options
Diffstat (limited to 'linuxthreads/internals.h')
-rw-r--r-- | linuxthreads/internals.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/linuxthreads/internals.h b/linuxthreads/internals.h index 45a73ad194..39c545c5e1 100644 --- a/linuxthreads/internals.h +++ b/linuxthreads/internals.h @@ -20,8 +20,10 @@ /* Includes */ #include <limits.h> +#include <signal.h> #include <unistd.h> #include <stackinfo.h> +#include <sigcontextinfo.h> #include <tls.h> #include "descr.h" @@ -93,6 +95,16 @@ struct pthread_request { }; + +typedef void (*arch_sighandler_t) (int, SIGCONTEXT); +union sighandler +{ + arch_sighandler_t old; + void (*rt) (int, struct siginfo *, struct ucontext *); +}; +extern union sighandler __sighandler[NSIG]; + + /* Signals used for suspend/restart and for cancellation notification. */ extern int __pthread_sig_restart; @@ -367,4 +379,11 @@ extern void __linuxthreads_reap_event (void); /* This function is called to initialize the pthread library. */ extern void __pthread_initialize (void); + +/* Sighandler wrappers. */ +extern void __pthread_sighandler(int signo, SIGCONTEXT ctx); +extern void __pthread_sighandler_rt(int signo, struct siginfo *si, + struct ucontext *uc); +extern void __pthread_null_sighandler(int sig); + #endif /* internals.h */ |