summaryrefslogtreecommitdiff
path: root/src/signal/sigsuspend.c
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 /src/signal/sigsuspend.c
parent5b9429adb78aeb5e98fa26bd9b2b3eef981e4c52 (diff)
downloadmusl-0f8cc94d68a54893fc2aee90503735045618d8ae.tar.gz
musl-0f8cc94d68a54893fc2aee90503735045618d8ae.tar.bz2
musl-0f8cc94d68a54893fc2aee90503735045618d8ae.tar.xz
musl-0f8cc94d68a54893fc2aee90503735045618d8ae.zip
make sigsuspend a cancellation point
Diffstat (limited to 'src/signal/sigsuspend.c')
-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;
}