diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2017-11-01 11:53:12 -0200 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2017-11-06 17:37:57 -0200 |
commit | 6a4235f129b75ad9963ae93d9f386b8b366cb65a (patch) | |
tree | ff1d970b9baa4fc9609d594f0e2261a18fe87ad1 | |
parent | 8b0e795aaa445e9167aa07b282c5720b35342c07 (diff) | |
download | glibc-6a4235f129b75ad9963ae93d9f386b8b366cb65a.zip glibc-6a4235f129b75ad9963ae93d9f386b8b366cb65a.tar.gz glibc-6a4235f129b75ad9963ae93d9f386b8b366cb65a.tar.bz2 |
Cleanup Linux sigqueue implementation
This patch simplify Linux sigqueue implementation by assuming
__NR_rt_sigqueueinfo existence due minimum kernel requirement
(it pre-dates Linux git inclusion for Linux 2.6.12).
Checked on x86_64-linux-gnu.
* sysdeps/unix/sysv/linux/sigqueue.c (__sigqueue): Asssume
__NR_rt_sigqueueinfo.
Signed-off-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Reviewed-by: Zack Weinberg <zackw@panix.com>
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sigqueue.c | 10 |
2 files changed, 5 insertions, 8 deletions
@@ -1,5 +1,8 @@ 2017-11-06 Adhemerval Zanella <adhemerval.zanella@linaro.org> + * sysdeps/unix/sysv/linux/sigqueue.c (__sigqueue): Asssume + __NR_rt_sigqueueinfo. + * sysdeps/unix/sysv/linux/Versions (libc) [GLIBC_PRIVATE]: Add __sigtimedwait. * sysdeps/unix/sysv/linux/sigtimedwait.c: Simplify includes and diff --git a/sysdeps/unix/sysv/linux/sigqueue.c b/sysdeps/unix/sysv/linux/sigqueue.c index 059e524..67bb6b2 100644 --- a/sysdeps/unix/sysv/linux/sigqueue.c +++ b/sysdeps/unix/sysv/linux/sigqueue.c @@ -17,13 +17,10 @@ #include <errno.h> #include <signal.h> -#include <unistd.h> #include <string.h> - +#include <unistd.h> #include <sysdep.h> -#include <sys/syscall.h> -#ifdef __NR_rt_sigqueueinfo /* Return any pending signal or wait for one for the given time. */ int __sigqueue (pid_t pid, int sig, const union sigval val) @@ -40,9 +37,6 @@ __sigqueue (pid_t pid, int sig, const union sigval val) info.si_uid = __getuid (); info.si_value = val; - return INLINE_SYSCALL (rt_sigqueueinfo, 3, pid, sig, &info); + return INLINE_SYSCALL_CALL (rt_sigqueueinfo, pid, sig, &info); } weak_alias (__sigqueue, sigqueue) -#else -# include <signal/sigqueue.c> -#endif |