[v2,5/8] Cleanup Linux sigqueue implementation
Commit Message
Changes from previous version:
- Add a note about __NR_rt_sigqueueinfo Linux minimum version support.
---
This patch simplify Linux sigqueue implementation by assuming
__NR_rt_sigqueueinfo existence due minimum kernel requirement
(tt 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>
---
ChangeLog | 3 +++
sysdeps/unix/sysv/linux/sigqueue.c | 10 ++--------
2 files changed, 5 insertions(+), 8 deletions(-)
@@ -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