about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2011-03-10 11:01:11 -0500
committerRich Felker <dalias@aerifal.cx>2011-03-10 11:01:11 -0500
commit0f8cc94d68a54893fc2aee90503735045618d8ae (patch)
tree0655ed550081a647e87e3a58d4bc52f883acda34
parent5b9429adb78aeb5e98fa26bd9b2b3eef981e4c52 (diff)
downloadmusl-0f8cc94d68a54893fc2aee90503735045618d8ae.tar.gz
musl-0f8cc94d68a54893fc2aee90503735045618d8ae.tar.xz
musl-0f8cc94d68a54893fc2aee90503735045618d8ae.zip
make sigsuspend a cancellation point
-rw-r--r--src/signal/sigsuspend.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/signal/sigsuspend.c b/src/signal/sigsuspend.c
index 7ce526c4..0806288c 100644
--- a/src/signal/sigsuspend.c
+++ b/src/signal/sigsuspend.c
@@ -1,7 +1,12 @@
 #include <signal.h>
 #include "syscall.h"
+#include "libc.h"
 
 int sigsuspend(const sigset_t *mask)
 {
-	return syscall2(__NR_rt_sigsuspend, (long)mask, SYSCALL_SIGSET_SIZE);
+	int ret;
+	CANCELPT_BEGIN;
+	ret = syscall2(__NR_rt_sigsuspend, (long)mask, SYSCALL_SIGSET_SIZE);
+	CANCELPT_END;
+	return ret;
 }