From 6823fb17e3cd9429f9e562d3e2e096bc1bb3ebe7 Mon Sep 17 00:00:00 2001 From: Mikael Pettersson Date: Sun, 31 Jan 2016 15:16:31 +0100 Subject: hipe_x86_signal: cleanups - replace system-specific #ifndef around sigaction() override with a test for OVERRIDE_SIGACTION, #define or #undef that as appropriate in each system-specific block --- erts/emulator/hipe/hipe_x86_signal.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/erts/emulator/hipe/hipe_x86_signal.c b/erts/emulator/hipe/hipe_x86_signal.c index b44899401b..10a40ce901 100644 --- a/erts/emulator/hipe/hipe_x86_signal.c +++ b/erts/emulator/hipe/hipe_x86_signal.c @@ -82,6 +82,7 @@ #endif #define NEXT_SIGACTION "__sigaction" #define LIBC_SIGACTION __sigaction +#define OVERRIDE_SIGACTION #endif /* glibc >= 2.3 */ /* Is there no standard identifier for Darwin/MacOSX ? */ @@ -107,6 +108,7 @@ */ #define NEXT_SIGACTION "sigaction" #define LIBC_SIGACTION _sigaction +#undef OVERRIDE_SIGACTION #define _NSIG NSIG #endif /* __DARWIN__ */ @@ -132,6 +134,7 @@ */ #define NEXT_SIGACTION "_sigaction" #define LIBC_SIGACTION _sigaction +#define OVERRIDE_SIGACTION #define _NSIG NSIG #endif /* __sun__ */ @@ -142,6 +145,7 @@ */ #define NEXT_SIGACTION "sigaction" #define LIBC_SIGACTION _sigaction +#undef OVERRIDE_SIGACTION #define _NSIG NSIG #endif /* __FreeBSD__ */ @@ -152,6 +156,7 @@ * signal delivery or not is unknown. */ #undef NEXT_SIGACTION +#undef OVERRIDE_SIGACTION #endif /* __NetBSD__ */ #if !(defined(__GLIBC__) || defined(__DARWIN__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__sun__)) @@ -165,6 +170,7 @@ */ #define NEXT_SIGACTION "__libc_sigaction" #define LIBC_SIGACTION __libc_sigaction +#define OVERRIDE_SIGACTION #ifndef _NSIG #define _NSIG NSIG #endif @@ -227,10 +233,10 @@ int LIBC_SIGACTION(int signum, const struct sigaction *act, struct sigaction *ol } #endif +#if defined(OVERRIDE_SIGACTION) /* * This catches the application's own sigaction() calls. */ -#if !defined(__DARWIN__) && !defined(__NetBSD__) && !defined(__FreeBSD__) int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact) { return my_sigaction(signum, act, oldact); -- cgit v1.2.3