|
@@ -28,7 +28,22 @@
|
|
|
#define HAVE_SA_RESTORER
|
|
|
|
|
|
|
|
|
-#if defined(__hppa__)
|
|
|
+#if defined(__alpha__)
|
|
|
+#undef HAVE_SA_RESTORER
|
|
|
+/* This is the sigaction struction from the Linux 2.1.20 kernel. */
|
|
|
+struct old_kernel_sigaction {
|
|
|
+ __sighandler_t k_sa_handler;
|
|
|
+ unsigned long sa_mask;
|
|
|
+ unsigned int sa_flags;
|
|
|
+};
|
|
|
+/* This is the sigaction structure from the Linux 2.1.68 kernel. */
|
|
|
+struct kernel_sigaction {
|
|
|
+ __sighandler_t k_sa_handler;
|
|
|
+ unsigned int sa_flags;
|
|
|
+ sigset_t sa_mask;
|
|
|
+};
|
|
|
+#elif defined(__hppa__)
|
|
|
+/* We do not support SA_RESTORER on hppa. */
|
|
|
#undef HAVE_SA_RESTORER
|
|
|
/* This is the sigaction struction from the Linux 2.1.20 kernel. */
|
|
|
/* Blah. This is bogus. We don't ever use it. */
|
|
@@ -37,7 +52,6 @@ struct old_kernel_sigaction {
|
|
|
unsigned long sa_mask;
|
|
|
unsigned long sa_flags;
|
|
|
};
|
|
|
-
|
|
|
/* This is the sigaction structure from the Linux 2.1.68 kernel. */
|
|
|
struct kernel_sigaction {
|
|
|
__sighandler_t k_sa_handler;
|
|
@@ -79,20 +93,19 @@ struct kernel_sigaction {
|
|
|
int s_resv[1]; /* reserved */
|
|
|
};
|
|
|
#else
|
|
|
-
|
|
|
-#undef HAVE_SA_RESTORER
|
|
|
-/* This is the sigaction struction from the Linux 2.1.20 kernel. */
|
|
|
+/* This is the sigaction structure from the Linux 2.1.20 kernel. */
|
|
|
struct old_kernel_sigaction {
|
|
|
__sighandler_t k_sa_handler;
|
|
|
unsigned long sa_mask;
|
|
|
- unsigned int sa_flags;
|
|
|
-};
|
|
|
-
|
|
|
+ unsigned long sa_flags;
|
|
|
+ void (*sa_restorer) (void);
|
|
|
+};
|
|
|
+
|
|
|
/* This is the sigaction structure from the Linux 2.1.68 kernel. */
|
|
|
-
|
|
|
struct kernel_sigaction {
|
|
|
__sighandler_t k_sa_handler;
|
|
|
- unsigned int sa_flags;
|
|
|
+ unsigned long sa_flags;
|
|
|
+ void (*sa_restorer) (void);
|
|
|
sigset_t sa_mask;
|
|
|
};
|
|
|
#endif
|