|
@@ -503,12 +503,15 @@ _syscall0(pid_t, setsid);
|
|
|
#endif
|
|
|
|
|
|
|
|
|
+#ifndef __NR_rt_sigaction
|
|
|
+#define __NR___sigaction __NR_sigaction
|
|
|
#ifdef L_sigaction
|
|
|
#include <signal.h>
|
|
|
#undef sigaction
|
|
|
-_syscall3(int, sigaction, int, signum, const struct sigaction *, act,
|
|
|
+_syscall3(int, __sigaction, int, signum, const struct sigaction *, act,
|
|
|
struct sigaction *, oldact);
|
|
|
#endif
|
|
|
+#endif
|
|
|
|
|
|
|
|
|
|
|
@@ -527,24 +530,28 @@ _syscall2(int, setregid, gid_t, rgid, gid_t, egid);
|
|
|
#endif
|
|
|
|
|
|
|
|
|
-#define __NR__sigsuspend __NR_sigsuspend
|
|
|
+#ifndef __NR_rt_sigsuspend
|
|
|
+#define __NR___sigsuspend __NR_sigsuspend
|
|
|
#ifdef L__sigsuspend
|
|
|
#include <signal.h>
|
|
|
-#undef _sigsuspend
|
|
|
-_syscall1(int, _sigsuspend, unsigned long int, mask);
|
|
|
+#undef sigsuspend
|
|
|
+_syscall3(int, __sigsuspend, int a, unsigned long int b, unsigned long int, c);
|
|
|
|
|
|
int sigsuspend (const sigset_t *set)
|
|
|
{
|
|
|
- return _sigsuspend(set->__val[0]);
|
|
|
+ return __sigsuspend(0, 0, set->__val[0]);
|
|
|
}
|
|
|
#endif
|
|
|
+#endif
|
|
|
|
|
|
|
|
|
+#ifndef __NR_rt_sigpending
|
|
|
#ifdef L_sigpending
|
|
|
#include <signal.h>
|
|
|
#undef sigpending
|
|
|
_syscall1(int, sigpending, sigset_t *, set);
|
|
|
#endif
|
|
|
+#endif
|
|
|
|
|
|
|
|
|
#ifdef L_sethostname
|
|
@@ -956,11 +963,13 @@ _syscall3(int, mprotect, void *, addr, size_t, len, int, prot);
|
|
|
#endif
|
|
|
|
|
|
|
|
|
+#ifndef __NR_rt_sigprocmask
|
|
|
#ifdef L_sigprocmask
|
|
|
#include <signal.h>
|
|
|
#undef sigprocmask
|
|
|
-_syscall3(int, sigprocmask, int, how, const sigset_t *, set, sigset_t *,
|
|
|
- oldset);
|
|
|
+_syscall3(int, sigprocmask, int, how, const sigset_t *, set,
|
|
|
+ sigset_t *, oldset);
|
|
|
+#endif
|
|
|
#endif
|
|
|
|
|
|
|
|
@@ -1058,15 +1067,9 @@ _syscall3(int, getdents, int, fd, char *, dirp, size_t, count);
|
|
|
#include <unistd.h>
|
|
|
extern int _newselect(int n, fd_set *readfds, fd_set *writefds,
|
|
|
fd_set *exceptfds, struct timeval *timeout);
|
|
|
-
|
|
|
_syscall5(int, _newselect, int, n, fd_set *, readfds, fd_set *, writefds,
|
|
|
- fd_set *, exceptfds, struct timeval *, timeout);
|
|
|
-
|
|
|
-int select(int n, fd_set * readfds, fd_set * writefds, fd_set * exceptfds,
|
|
|
- struct timeval *timeout)
|
|
|
-{
|
|
|
- return (_newselect(n, readfds, writefds, exceptfds, timeout));
|
|
|
-}
|
|
|
+ fd_set *, exceptfds, struct timeval *, timeout);
|
|
|
+weak_alias(_newselect, select);
|
|
|
#endif
|
|
|
|
|
|
|
|
@@ -1186,11 +1189,58 @@ _syscall3(int, poll, struct pollfd *, fds, unsigned long int, nfds, int, timeout
|
|
|
|
|
|
|
|
|
|
|
|
+#define __NR___rt_sigaction __NR_rt_sigaction
|
|
|
+#ifdef L___rt_sigaction
|
|
|
+#include <signal.h>
|
|
|
+#undef sigaction
|
|
|
+_syscall4(int, __rt_sigaction, int, signum, const struct sigaction *, act,
|
|
|
+ struct sigaction *, oldact, size_t, size);
|
|
|
+#endif
|
|
|
+
|
|
|
|
|
|
+#define __NR___rt_sigprocmask __NR_rt_sigprocmask
|
|
|
+#ifdef L___rt_sigprocmask
|
|
|
+#include <signal.h>
|
|
|
+#undef sigprocmask
|
|
|
+_syscall4(int, __rt_sigprocmask, int, how, const sigset_t *, set,
|
|
|
+ sigset_t *, oldset, size_t, size);
|
|
|
+
|
|
|
+int sigprocmask(int how, const sigset_t *set, sigset_t *oldset)
|
|
|
+{
|
|
|
+ return __rt_sigprocmask(how, set, oldset, _NSIG/8);
|
|
|
+}
|
|
|
+
|
|
|
+#endif
|
|
|
+
|
|
|
|
|
|
+#define __NR___rt_sigpending __NR_rt_sigpending
|
|
|
+#ifdef L___rt_sigpending
|
|
|
+#include <signal.h>
|
|
|
+#undef sigpending
|
|
|
+_syscall2(int, __rt_sigpending, sigset_t *, set, size_t, size);
|
|
|
+
|
|
|
+int sigpending(sigset_t *set)
|
|
|
+{
|
|
|
+ return __rt_sigpending(set, _NSIG/8);
|
|
|
+}
|
|
|
+#endif
|
|
|
+
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
|
+#define __NR___rt_sigsuspend __NR_rt_sigsuspend
|
|
|
+#ifdef L___rt_sigsuspend
|
|
|
+#include <signal.h>
|
|
|
+#undef _sigsuspend
|
|
|
+_syscall2(int, __rt_sigsuspend, const sigset_t *, mask, size_t, size);
|
|
|
+
|
|
|
+int sigsuspend (const sigset_t *mask)
|
|
|
+{
|
|
|
+ return __rt_sigsuspend(mask, _NSIG/8);
|
|
|
+}
|
|
|
+#endif
|
|
|
+
|
|
|
|
|
|
|
|
|
|