about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2011-03-10 10:59:50 -0500
committerRich Felker <dalias@aerifal.cx>2011-03-10 10:59:50 -0500
commit5b9429adb78aeb5e98fa26bd9b2b3eef981e4c52 (patch)
treed4d2ff17e96dc00bc84ae1da8004509a74b1d5d8
parent0a949ebdf0b9fc054ea868bd049c8f2c7aed973e (diff)
downloadmusl-5b9429adb78aeb5e98fa26bd9b2b3eef981e4c52.tar.gz
musl-5b9429adb78aeb5e98fa26bd9b2b3eef981e4c52.tar.xz
musl-5b9429adb78aeb5e98fa26bd9b2b3eef981e4c52.zip
make sigtimedwait a cancellation point
-rw-r--r--src/signal/sigtimedwait.c3
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;
 }