aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2017-11-01 11:53:12 -0200
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2017-11-06 17:37:57 -0200
commit6a4235f129b75ad9963ae93d9f386b8b366cb65a (patch)
treeff1d970b9baa4fc9609d594f0e2261a18fe87ad1
parent8b0e795aaa445e9167aa07b282c5720b35342c07 (diff)
downloadglibc-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--ChangeLog3
-rw-r--r--sysdeps/unix/sysv/linux/sigqueue.c10
2 files changed, 5 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 89e0f11..9861b97 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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