summaryrefslogtreecommitdiffstats
path: root/libc/signal
diff options
context:
space:
mode:
author"Steven J. Hill" <sjhill@realitydiluted.com>2005-12-08 04:57:34 +0000
committer"Steven J. Hill" <sjhill@realitydiluted.com>2005-12-08 04:57:34 +0000
commita25d5bd4971bb460bd87c684d066fd58359faf32 (patch)
treeb3a4b5ef6799bd0c3924fc9ba00d65023577f101 /libc/signal
parent2efb2ef4f916151b8abe51fc87ed7b5411d1d91e (diff)
downloaduClibc-alpine-a25d5bd4971bb460bd87c684d066fd58359faf32.tar.bz2
uClibc-alpine-a25d5bd4971bb460bd87c684d066fd58359faf32.tar.xz
Fix 'sigaction' for NPTL and other thread models.
Diffstat (limited to 'libc/signal')
-rw-r--r--libc/signal/sigaction.c21
-rw-r--r--libc/signal/sigignore.c2
-rw-r--r--libc/signal/sigintr.c2
-rw-r--r--libc/signal/signal.c2
-rw-r--r--libc/signal/sigset.c2
-rw-r--r--libc/signal/sysv_signal.c2
6 files changed, 7 insertions, 24 deletions
diff --git a/libc/signal/sigaction.c b/libc/signal/sigaction.c
index 66ed7ad8c..5f926c0b8 100644
--- a/libc/signal/sigaction.c
+++ b/libc/signal/sigaction.c
@@ -28,17 +28,12 @@
translate it here. */
#include <bits/kernel_sigaction.h>
-int __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact);
-
#if defined __NR_rt_sigaction
/* If ACT is not NULL, change the action for SIG to *ACT.
If OACT is not NULL, put the old action for SIG in *OACT. */
-int
-__libc_sigaction (sig, act, oact)
- int sig;
- const struct sigaction *act;
- struct sigaction *oact;
+int attribute_hidden
+__sigaction_internal (int sig, const struct sigaction *act, struct sigaction *oact)
{
int result;
struct kernel_sigaction kact, koact;
@@ -74,11 +69,8 @@ __libc_sigaction (sig, act, oact)
/* If ACT is not NULL, change the action for SIG to *ACT.
If OACT is not NULL, put the old action for SIG in *OACT. */
-int
-__libc_sigaction (sig, act, oact)
- int sig;
- const struct sigaction *act;
- struct sigaction *oact;
+int attribute_hidden
+__sigaction_internal (int sig, const struct sigaction *act, struct sigaction *oact)
{
int result;
struct old_kernel_sigaction kact, koact;
@@ -111,6 +103,7 @@ __libc_sigaction (sig, act, oact)
#endif
#ifndef LIBC_SIGACTION
-weak_alias (__libc_sigaction, __sigaction)
-weak_alias (__libc_sigaction, sigaction)
+strong_alias(__sigaction_internal,__libc_sigaction)
+weak_alias(__sigaction_internal,__sigaction)
+weak_alias(__sigaction_internal,sigaction)
#endif
diff --git a/libc/signal/sigignore.c b/libc/signal/sigignore.c
index 490cc3814..407b52e2a 100644
--- a/libc/signal/sigignore.c
+++ b/libc/signal/sigignore.c
@@ -18,8 +18,6 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
-#define sigaction __sigaction_internal
-
#define _GNU_SOURCE
#include <errno.h>
#define __need_NULL
diff --git a/libc/signal/sigintr.c b/libc/signal/sigintr.c
index c55d58618..8315c3a6b 100644
--- a/libc/signal/sigintr.c
+++ b/libc/signal/sigintr.c
@@ -16,8 +16,6 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
-#define sigaction __sigaction_internal
-
#include <stddef.h>
#include <signal.h>
#include <errno.h>
diff --git a/libc/signal/signal.c b/libc/signal/signal.c
index f8355258a..7df88eff0 100644
--- a/libc/signal/signal.c
+++ b/libc/signal/signal.c
@@ -18,8 +18,6 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
-#define sigaction __sigaction_internal
-
#include <errno.h>
#include <signal.h>
#include <string.h> /* For the real memset prototype. */
diff --git a/libc/signal/sigset.c b/libc/signal/sigset.c
index 7860669b6..350e3cb2d 100644
--- a/libc/signal/sigset.c
+++ b/libc/signal/sigset.c
@@ -16,8 +16,6 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
-#define sigaction __sigaction_internal
-
#include <errno.h>
#define __need_NULL
#include <stddef.h>
diff --git a/libc/signal/sysv_signal.c b/libc/signal/sysv_signal.c
index 78c9696dd..576fc0b8d 100644
--- a/libc/signal/sysv_signal.c
+++ b/libc/signal/sysv_signal.c
@@ -16,8 +16,6 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
-#define sigaction __sigaction_internal
-
#include <errno.h>
#include <signal.h>
#include <string.h> /* For the real memset prototype. */