summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Johnston <markj@FreeBSD.org>2017-05-25 01:09:45 +0000
committerMark Johnston <markj@FreeBSD.org>2017-05-25 01:09:45 +0000
commit0c1064a752d96bdf56528c1401445da6ac1c95b5 (patch)
treecb54beace35faa76f17367a87225964b6fd1a6f4
parent467c73bb3933452fda8327c18ec314246b5fce8b (diff)
Notes
-rw-r--r--sys/kern/kern_sig.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c
index f9c44b4aa313..6677d69b0922 100644
--- a/sys/kern/kern_sig.c
+++ b/sys/kern/kern_sig.c
@@ -2495,6 +2495,7 @@ sig_suspend_threads(struct thread *td, struct proc *p, int sending)
PROC_LOCK_ASSERT(p, MA_OWNED);
PROC_SLOCK_ASSERT(p, MA_OWNED);
+ MPASS(sending || td == curthread);
wakeup_swapper = 0;
FOREACH_THREAD_IN_PROC(p, td2) {
@@ -2511,10 +2512,9 @@ sig_suspend_threads(struct thread *td, struct proc *p, int sending)
*/
KASSERT(!TD_IS_SUSPENDED(td2),
("thread with deferred stops suspended"));
- if (TD_SBDRY_INTR(td2) && sending) {
+ if (TD_SBDRY_INTR(td2))
wakeup_swapper |= sleepq_abort(td2,
TD_SBDRY_ERRNO(td2));
- }
} else if (!TD_IS_SUSPENDED(td2)) {
thread_suspend_one(td2);
}