about summary refs log tree commit diff
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;