aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/kern_sig.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/kern/kern_sig.c')
-rw-r--r--sys/kern/kern_sig.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c
index 7884b5be9f91..3d55405d3151 100644
--- a/sys/kern/kern_sig.c
+++ b/sys/kern/kern_sig.c
@@ -1268,6 +1268,9 @@ kern_sigtimedwait(struct thread *td, sigset_t waitset, ksiginfo_t *ksi,
ets.tv_nsec = 0;
traced = false;
+ /* Ensure the sigfastblock value is up to date. */
+ sigfastblock_fetch(td);
+
if (timeout != NULL) {
if (timeout->tv_nsec >= 0 && timeout->tv_nsec < 1000000000) {
timevalid = 1;
@@ -1527,6 +1530,9 @@ kern_sigsuspend(struct thread *td, sigset_t mask)
struct proc *p = td->td_proc;
int has_sig, sig;
+ /* Ensure the sigfastblock value is up to date. */
+ sigfastblock_fetch(td);
+
/*
* When returning from sigsuspend, we want
* the old mask to be restored after the