From 685e40bb09f5f24a2af54ea09c97328808f76990 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Sat, 19 Mar 2011 21:36:10 -0400 Subject: syscall overhaul part two - unify public and internal syscall interface with this patch, the syscallN() functions are no longer needed; a variadic syscall() macro allows syscalls with anywhere from 0 to 6 arguments to be made with a single macro name. also, manually casting each non-integer argument with (long) is no longer necessary; the casts are hidden in the macros. some source files which depended on being able to define the old macro SYSCALL_RETURNS_ERRNO have been modified to directly use __syscall() instead of syscall(). references to SYSCALL_SIGSET_SIZE and SYSCALL_LL have also been changed. x86_64 has not been tested, and may need a follow-up commit to fix any minor bugs/oversights. --- src/signal/sigtimedwait.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/signal/sigtimedwait.c') diff --git a/src/signal/sigtimedwait.c b/src/signal/sigtimedwait.c index 93f31a71..a0edaaf3 100644 --- a/src/signal/sigtimedwait.c +++ b/src/signal/sigtimedwait.c @@ -8,7 +8,7 @@ int sigtimedwait(const sigset_t *mask, siginfo_t *si, const struct timespec *tim int ret; CANCELPT_BEGIN; do { - ret = syscall4(__NR_rt_sigtimedwait, (long)mask, (long)si, (long)timeout, SYSCALL_SIGSET_SIZE); + ret = syscall(__NR_rt_sigtimedwait, mask, si, timeout, 8); } while (ret<0 && errno==EINTR); CANCELPT_END; return ret; -- cgit v1.2.1