make sigtimedwait a cancellation point
authorRich Felker <dalias@aerifal.cx>
Thu, 10 Mar 2011 15:59:50 +0000 (10:59 -0500)
committerRich Felker <dalias@aerifal.cx>
Thu, 10 Mar 2011 15:59:50 +0000 (10:59 -0500)
src/signal/sigtimedwait.c

index 0a7c5eacdf1c3574c7f17d9a5155a591db8473ca..93f31a713964809cb46f1dfdc3520157881b40e6 100644 (file)
@@ -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;
 }