about summary refs log tree commit diff
path: root/signal
diff options
context:
space:
mode:
Diffstat (limited to 'signal')
-rw-r--r--signal/signal.h21
1 files changed, 14 insertions, 7 deletions
diff --git a/signal/signal.h b/signal/signal.h
index a51e912d08..947873ea8e 100644
--- a/signal/signal.h
+++ b/signal/signal.h
@@ -297,7 +297,6 @@ extern int sigreturn (struct sigcontext *__scp) __THROW;
 extern int siginterrupt (int __sig, int __interrupt) __THROW;
 
 # include <bits/sigstack.h>
-# include <bits/types/struct_sigstack.h>
 # include <bits/types/stack_t.h>
 # include <bits/ss_flags.h>
 # if defined __USE_XOPEN || defined __USE_XOPEN2K8
@@ -305,12 +304,6 @@ extern int siginterrupt (int __sig, int __interrupt) __THROW;
 #  include <sys/ucontext.h>
 # endif
 
-/* Run signals handlers on the stack specified by SS (if not NULL).
-   If OSS is not NULL, it is filled in with the old signal stack status.
-   This interface is obsolete and on many platform not implemented.  */
-extern int sigstack (struct sigstack *__ss, struct sigstack *__oss)
-     __THROW __attribute_deprecated__;
-
 /* Alternate signal handler stack interface.
    This interface should always be preferred over `sigstack'.  */
 extern int sigaltstack (const struct sigaltstack *__restrict __ss,
@@ -318,6 +311,20 @@ extern int sigaltstack (const struct sigaltstack *__restrict __ss,
 
 #endif /* Use POSIX.1-2008 or X/Open Unix.  */
 
+#if ((defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K8)	\
+     || defined __USE_MISC)
+# include <bits/types/struct_sigstack.h>
+#endif
+
+#if ((defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K)	\
+     || defined __USE_MISC)
+/* Run signals handlers on the stack specified by SS (if not NULL).
+   If OSS is not NULL, it is filled in with the old signal stack status.
+   This interface is obsolete and on many platform not implemented.  */
+extern int sigstack (struct sigstack *__ss, struct sigstack *__oss)
+     __THROW __attribute_deprecated__;
+#endif
+
 #ifdef __USE_XOPEN_EXTENDED
 /* Simplified interface for signal management.  */