X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=blobdiff_plain;f=src%2Fsignal%2Fsigtimedwait.c;h=0739986b1959b9919c86974dcc7babee79877d2a;hp=93f31a713964809cb46f1dfdc3520157881b40e6;hb=ccc7b4c3a17ade90de71e1e0f44deebbffd646e6;hpb=5b9429adb78aeb5e98fa26bd9b2b3eef981e4c52 diff --git a/src/signal/sigtimedwait.c b/src/signal/sigtimedwait.c index 93f31a71..0739986b 100644 --- a/src/signal/sigtimedwait.c +++ b/src/signal/sigtimedwait.c @@ -3,13 +3,11 @@ #include "syscall.h" #include "libc.h" -int sigtimedwait(const sigset_t *mask, siginfo_t *si, const struct timespec *timeout) +int sigtimedwait(const sigset_t *restrict mask, siginfo_t *restrict si, const struct timespec *restrict timeout) { int ret; - CANCELPT_BEGIN; - do { - ret = syscall4(__NR_rt_sigtimedwait, (long)mask, (long)si, (long)timeout, SYSCALL_SIGSET_SIZE); - } while (ret<0 && errno==EINTR); - CANCELPT_END; + do ret = syscall_cp(SYS_rt_sigtimedwait, mask, + si, timeout, _NSIG/8); + while (ret<0 && errno==EINTR); return ret; }