aboutsummaryrefslogtreecommitdiff
path: root/linuxthreads/internals.h
diff options
context:
space:
mode:
Diffstat (limited to 'linuxthreads/internals.h')
-rw-r--r--linuxthreads/internals.h19
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 */