diff options
author | Rich Felker <dalias@aerifal.cx> | 2011-03-10 10:59:50 -0500 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2011-03-10 10:59:50 -0500 |
commit | 5b9429adb78aeb5e98fa26bd9b2b3eef981e4c52 (patch) | |
tree | d4d2ff17e96dc00bc84ae1da8004509a74b1d5d8 | |
parent | 0a949ebdf0b9fc054ea868bd049c8f2c7aed973e (diff) | |
download | musl-5b9429adb78aeb5e98fa26bd9b2b3eef981e4c52.tar.gz musl-5b9429adb78aeb5e98fa26bd9b2b3eef981e4c52.tar.xz musl-5b9429adb78aeb5e98fa26bd9b2b3eef981e4c52.zip |
make sigtimedwait a cancellation point
-rw-r--r-- | src/signal/sigtimedwait.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/signal/sigtimedwait.c b/src/signal/sigtimedwait.c index 0a7c5eac..93f31a71 100644 --- a/src/signal/sigtimedwait.c +++ b/src/signal/sigtimedwait.c @@ -1,12 +1,15 @@ #include <signal.h> #include <errno.h> #include "syscall.h" +#include "libc.h" int sigtimedwait(const sigset_t *mask, siginfo_t *si, const struct timespec *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; return ret; } |