summaryrefslogtreecommitdiffstats
path: root/newlib/libc/include/signal.h
diff options
context:
space:
mode:
authorYaakov Selkowitz <yselkowi@redhat.com>2016-03-14 16:39:56 -0500
committerYaakov Selkowitz <yselkowi@redhat.com>2016-03-17 21:09:03 -0500
commit5c78499ae2ae6ac28854b43a1ad73d917b40c62d (patch)
tree57ad3b0c058afc2587ed8a42ec7f0c030c97ded4 /newlib/libc/include/signal.h
parent25507f80a21c476f4bfa3cba030e3a0502a491db (diff)
downloadcygnal-5c78499ae2ae6ac28854b43a1ad73d917b40c62d.tar.gz
cygnal-5c78499ae2ae6ac28854b43a1ad73d917b40c62d.tar.bz2
cygnal-5c78499ae2ae6ac28854b43a1ad73d917b40c62d.zip
Feature test macros overhaul: signal.h
Use proper internal macros for BSD sig_t and GNU sighandler_t. sigaltstack and friends are XSI even in SUSv4 but in glibc are nonetheless handled as POSIX.1-2008 (not 2001). The requirement for the ucontext_t typedef in signal.h was XSI prior to POSIX.1-2008. Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
Diffstat (limited to 'newlib/libc/include/signal.h')
-rw-r--r--newlib/libc/include/signal.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/newlib/libc/include/signal.h b/newlib/libc/include/signal.h
index 8c50a2eb3..0324ae71a 100644
--- a/newlib/libc/include/signal.h
+++ b/newlib/libc/include/signal.h
@@ -2,15 +2,18 @@
#define _SIGNAL_H_
#include "_ansi.h"
+#include <sys/cdefs.h>
#include <sys/signal.h>
_BEGIN_STD_C
typedef int sig_atomic_t; /* Atomic entity type (ANSI) */
-#ifndef _POSIX_SOURCE
+#if __BSD_VISIBLE
typedef _sig_func_ptr sig_t; /* BSD naming */
+#endif
+#if __GNU_VISIBLE
typedef _sig_func_ptr sighandler_t; /* glibc naming */
-#endif /* !_POSIX_SOURCE */
+#endif
#define SIG_DFL ((_sig_func_ptr)0) /* Default action */
#define SIG_IGN ((_sig_func_ptr)1) /* Ignore action */