From ccc7b4c3a17ade90de71e1e0f44deebbffd646e6 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Tue, 26 Mar 2013 23:07:31 -0400 Subject: remove __SYSCALL_SSLEN arch macro in favor of using public _NSIG the issue at hand is that many syscalls require as an argument the kernel-ABI size of sigset_t, intended to allow the kernel to switch to a larger sigset_t in the future. previously, each arch was defining this size in syscall_arch.h, which was redundant with the definition of _NSIG in bits/signal.h. as it's used in some not-quite-portable application code as well, _NSIG is much more likely to be recognized and understood immediately by someone reading the code, and it's also shorter and less cluttered. note that _NSIG is actually 65/129, not 64/128, but the division takes care of throwing away the off-by-one part. --- src/select/pselect.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/select') diff --git a/src/select/pselect.c b/src/select/pselect.c index 50343fb7..a19e153e 100644 --- a/src/select/pselect.c +++ b/src/select/pselect.c @@ -1,10 +1,11 @@ #include +#include #include "syscall.h" #include "libc.h" int pselect(int n, fd_set *restrict rfds, fd_set *restrict wfds, fd_set *restrict efds, const struct timespec *restrict ts, const sigset_t *restrict mask) { - long data[2] = { (long)mask, __SYSCALL_SSLEN }; + long data[2] = { (long)mask, _NSIG/8 }; struct timespec ts_tmp; if (ts) ts_tmp = *ts; return syscall_cp(SYS_pselect6, n, rfds, wfds, efds, ts ? &ts_tmp : 0, data); -- cgit v1.2.1