summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/signal.h4
-rw-r--r--libc/signal/signal.c7
-rw-r--r--libc/signal/sysv_signal.c3
3 files changed, 8 insertions, 6 deletions
diff --git a/include/signal.h b/include/signal.h
index e4e5a10a8..288febd01 100644
--- a/include/signal.h
+++ b/include/signal.h
@@ -93,8 +93,8 @@ extern __sighandler_t signal (int __sig, __sighandler_t __handler)
__THROW;
#else
/* Make sure the used `signal' implementation is the SVID version. */
-# ifdef __REDIRECT
-extern __sighandler_t __REDIRECT (signal,
+# ifdef __REDIRECT_NTH
+extern __sighandler_t __REDIRECT_NTH (signal,
(int __sig, __sighandler_t __handler),
__sysv_signal);
# else
diff --git a/libc/signal/signal.c b/libc/signal/signal.c
index 6879ef822..87bd7ab84 100644
--- a/libc/signal/signal.c
+++ b/libc/signal/signal.c
@@ -28,8 +28,8 @@ sigset_t _sigintr attribute_hidden; /* Set by siginterrupt. */
/* Set the handler for the signal SIG to HANDLER,
returning the old handler, or SIG_ERR on error. */
-__sighandler_t
-bsd_signal (int sig, __sighandler_t handler)
+attribute_hidden __sighandler_t
+__bsd_signal (int sig, __sighandler_t handler)
{
struct sigaction act, oact;
@@ -50,6 +50,7 @@ bsd_signal (int sig, __sighandler_t handler)
return oact.sa_handler;
}
-strong_alias(bsd_signal,signal)
+strong_alias(__bsd_signal,bsd_signal)
+strong_alias(__bsd_signal,signal)
libc_hidden_proto(signal)
libc_hidden_def(signal)
diff --git a/libc/signal/sysv_signal.c b/libc/signal/sysv_signal.c
index 45547d1d6..97857a250 100644
--- a/libc/signal/sysv_signal.c
+++ b/libc/signal/sysv_signal.c
@@ -36,7 +36,7 @@ libc_hidden_proto(sigaction)
/* Set the handler for the signal SIG to HANDLER,
returning the old handler, or SIG_ERR on error. */
__sighandler_t
-sysv_signal (sig, handler)
+__sysv_signal (sig, handler)
int sig;
__sighandler_t handler;
{
@@ -59,3 +59,4 @@ sysv_signal (sig, handler)
return oact.sa_handler;
}
+strong_alias(__sysv_signal,sysv_signal)