summaryrefslogtreecommitdiff
path: root/src/signal
diff options
context:
space:
mode:
Diffstat (limited to 'src/signal')
-rw-r--r--src/signal/sigsuspend.c1
-rw-r--r--src/signal/sigtimedwait.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/src/signal/sigsuspend.c b/src/signal/sigsuspend.c
index 6c13fce1..9ee71240 100644
--- a/src/signal/sigsuspend.c
+++ b/src/signal/sigsuspend.c
@@ -7,6 +7,7 @@ int sigsuspend(const sigset_t *mask)
int ret;
CANCELPT_BEGIN;
ret = syscall(__NR_rt_sigsuspend, mask, 8);
+ if (ret<0) CANCELPT_TRY;
CANCELPT_END;
return ret;
}
diff --git a/src/signal/sigtimedwait.c b/src/signal/sigtimedwait.c
index a0edaaf3..86a2c879 100644
--- a/src/signal/sigtimedwait.c
+++ b/src/signal/sigtimedwait.c
@@ -9,6 +9,7 @@ int sigtimedwait(const sigset_t *mask, siginfo_t *si, const struct timespec *tim
CANCELPT_BEGIN;
do {
ret = syscall(__NR_rt_sigtimedwait, mask, si, timeout, 8);
+ if (ret<0) CANCELPT_TRY;
} while (ret<0 && errno==EINTR);
CANCELPT_END;
return ret;