mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
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>
This commit is contained in:
@ -1,5 +1,8 @@
|
|||||||
2017-11-06 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
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
|
* sysdeps/unix/sysv/linux/Versions (libc) [GLIBC_PRIVATE]: Add
|
||||||
__sigtimedwait.
|
__sigtimedwait.
|
||||||
* sysdeps/unix/sysv/linux/sigtimedwait.c: Simplify includes and
|
* sysdeps/unix/sysv/linux/sigtimedwait.c: Simplify includes and
|
||||||
|
@ -17,13 +17,10 @@
|
|||||||
|
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
#include <unistd.h>
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include <unistd.h>
|
||||||
#include <sysdep.h>
|
#include <sysdep.h>
|
||||||
#include <sys/syscall.h>
|
|
||||||
|
|
||||||
#ifdef __NR_rt_sigqueueinfo
|
|
||||||
/* Return any pending signal or wait for one for the given time. */
|
/* Return any pending signal or wait for one for the given time. */
|
||||||
int
|
int
|
||||||
__sigqueue (pid_t pid, int sig, const union sigval val)
|
__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_uid = __getuid ();
|
||||||
info.si_value = val;
|
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)
|
weak_alias (__sigqueue, sigqueue)
|
||||||
#else
|
|
||||||
# include <signal/sigqueue.c>
|
|
||||||
#endif
|
|
||||||
|
Reference in New Issue
Block a user