summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter S. Mazinger <ps.m@gmx.net>2005-12-09 00:08:31 +0000
committerPeter S. Mazinger <ps.m@gmx.net>2005-12-09 00:08:31 +0000
commit6a2a30ccc6c3dc803abdbfa35cbfa01062af704b (patch)
treef617a70aae3007e35d1c47a6815e118f08be1592
parentafa6ffdbf8a2e31d648c8860fd172d1b047650cd (diff)
internal sigpause, do we really default to BSD signals?
-rw-r--r--libc/inet/rpc/rcmd.c1
-rw-r--r--libc/signal/sigblock.c2
-rw-r--r--libc/signal/siggetmask.c2
-rw-r--r--libc/signal/signal.c1
-rw-r--r--libc/signal/sigpause.c7
-rw-r--r--libc/signal/sigwait.c2
-rw-r--r--libc/stdlib/system.c1
-rw-r--r--libc/sysdeps/linux/common/pause.c10
8 files changed, 15 insertions, 11 deletions
diff --git a/libc/inet/rpc/rcmd.c b/libc/inet/rpc/rcmd.c
index 726be44a1..ffcfb9977 100644
--- a/libc/inet/rpc/rcmd.c
+++ b/libc/inet/rpc/rcmd.c
@@ -50,6 +50,7 @@ static char sccsid[] = "@(#)rcmd.c 8.3 (Berkeley) 3/26/94";
#define herror __herror
#define bind __bind
#define connect __connect
+#define sigblock __sigblock
#define __FORCE_GLIBC
#include <features.h>
diff --git a/libc/signal/sigblock.c b/libc/signal/sigblock.c
index 70af609aa..d3568b9f5 100644
--- a/libc/signal/sigblock.c
+++ b/libc/signal/sigblock.c
@@ -22,7 +22,7 @@
#include "sigset-cvt-mask.h"
/* Block signals in MASK, returning the old mask. */
-int __sigblock (int mask)
+int attribute_hidden __sigblock (int mask)
{
sigset_t set, oset;
diff --git a/libc/signal/siggetmask.c b/libc/signal/siggetmask.c
index f139d3861..6c6b57579 100644
--- a/libc/signal/siggetmask.c
+++ b/libc/signal/siggetmask.c
@@ -19,7 +19,7 @@
#include <signal.h>
-extern int __sigblock (int __mask);
+extern int __sigblock (int __mask) __THROW __attribute_deprecated__ attribute_hidden;
int
siggetmask (void)
{
diff --git a/libc/signal/signal.c b/libc/signal/signal.c
index 9e489f637..bcc31c0bc 100644
--- a/libc/signal/signal.c
+++ b/libc/signal/signal.c
@@ -52,4 +52,5 @@ __bsd_signal (int sig, __sighandler_t handler)
return oact.sa_handler;
}
weak_alias (__bsd_signal, bsd_signal)
+hidden_weak_alias (__bsd_signal, __signal)
weak_alias (__bsd_signal, signal)
diff --git a/libc/signal/sigpause.c b/libc/signal/sigpause.c
index fc77c958d..7e0852dbc 100644
--- a/libc/signal/sigpause.c
+++ b/libc/signal/sigpause.c
@@ -18,6 +18,7 @@
02111-1307 USA. */
#define sigdelset __sigdelset_internal
+#define sigsuspend __sigsuspend
#include <errno.h>
#include <signal.h>
@@ -27,7 +28,7 @@
/* Set the mask of blocked signals to MASK,
wait for a signal to arrive, and then restore the mask. */
-int __sigpause (int sig_or_mask, int is_sig)
+int attribute_hidden __sigpause_internal (int sig_or_mask, int is_sig)
{
sigset_t set;
@@ -44,7 +45,7 @@ int __sigpause (int sig_or_mask, int is_sig)
return sigsuspend (&set);
}
-
+strong_alias(__sigpause_internal,__sigpause)
#undef sigpause
@@ -53,5 +54,5 @@ int __sigpause (int sig_or_mask, int is_sig)
the BSD version. So make this the default. */
int sigpause (int mask)
{
- return __sigpause (mask, 0);
+ return __sigpause_internal (mask, 0);
}
diff --git a/libc/signal/sigwait.c b/libc/signal/sigwait.c
index 99ddfc481..13d65ed5e 100644
--- a/libc/signal/sigwait.c
+++ b/libc/signal/sigwait.c
@@ -18,6 +18,8 @@
* Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
* 02111-1307 USA. */
+#define sigwaitinfo __sigwaitinfo
+
#include <errno.h>
#include <signal.h>
#include <string.h>
diff --git a/libc/stdlib/system.c b/libc/stdlib/system.c
index e268bf5ef..1a3afed25 100644
--- a/libc/stdlib/system.c
+++ b/libc/stdlib/system.c
@@ -1,5 +1,6 @@
#define wait4 __wait4
#define execl __execl
+#define signal __signal
#include <stdio.h>
#include <stddef.h>
diff --git a/libc/sysdeps/linux/common/pause.c b/libc/sysdeps/linux/common/pause.c
index 0587a7b66..a017ef611 100644
--- a/libc/sysdeps/linux/common/pause.c
+++ b/libc/sysdeps/linux/common/pause.c
@@ -7,22 +7,20 @@
* GNU Library General Public License (LGPL) version 2 or later.
*/
+#define __sigpause __sigpause_internal
+#define sigblock __sigblock
+
#include "syscalls.h"
#include <unistd.h>
#ifdef __NR_pause
-
#define __NR___libc_pause __NR_pause
_syscall0(int, __libc_pause);
-weak_alias(__libc_pause, pause);
-
#else
-
#include <signal.h>
int __libc_pause(void)
{
return (__sigpause(sigblock(0), 0));
}
-weak_alias(__libc_pause, pause);
-
#endif
+weak_alias(__libc_pause, pause)