浏览代码

make sigsuspend a cancellation point

Rich Felker 14 年之前
父节点
当前提交
0f8cc94d68
共有 1 个文件被更改,包括 6 次插入1 次删除
  1. 6 1
      src/signal/sigsuspend.c

+ 6 - 1
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;
 }