X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fsignal%2Fsigtimedwait.c;h=0739986b1959b9919c86974dcc7babee79877d2a;hb=6d861ac87491a207e4599c44b61d142f0a601c2d;hp=93f31a713964809cb46f1dfdc3520157881b40e6;hpb=5b9429adb78aeb5e98fa26bd9b2b3eef981e4c52;p=musl 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; }