summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_thread.c
diff options
context:
space:
mode:
authorLuiz Otavio O Souza <luiz@netgate.com>2016-06-30 13:24:42 -0500
committerLuiz Otavio O Souza <luiz@netgate.com>2016-06-30 13:24:42 -0500
commit9d5ffb47ff56597309eb2939cc97b1df4d616797 (patch)
treeb34fd92dce8092bb4cb58c875caabd93e1fece39 /sys/kern/kern_thread.c
parent1fc6b0207cc2f3cce33817706603caa41a9de24d (diff)
parent13295f52fb5936b237a994e75311fe18612c73c4 (diff)
downloadFreeBSD-src-9d5ffb47ff56597309eb2939cc97b1df4d616797.zip
FreeBSD-src-9d5ffb47ff56597309eb2939cc97b1df4d616797.tar.gz
Merge remote-tracking branch 'origin/stable/10' into devel
Diffstat (limited to 'sys/kern/kern_thread.c')
-rw-r--r--sys/kern/kern_thread.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/sys/kern/kern_thread.c b/sys/kern/kern_thread.c
index c85813b..2f8382c 100644
--- a/sys/kern/kern_thread.c
+++ b/sys/kern/kern_thread.c
@@ -424,7 +424,7 @@ thread_exit(void)
* architecture specific resources that
* would not be on a new untouched process.
*/
- cpu_thread_exit(td); /* XXXSMP */
+ cpu_thread_exit(td);
/*
* The last thread is left attached to the process
@@ -613,11 +613,6 @@ weed_inhib(int mode, struct thread *td2, struct proc *p)
wakeup_swapper |= sleepq_abort(td2, EINTR);
break;
case SINGLE_BOUNDARY:
- if (TD_IS_SUSPENDED(td2) && (td2->td_flags & TDF_BOUNDARY) == 0)
- wakeup_swapper |= thread_unsuspend_one(td2, p, false);
- if (TD_ON_SLEEPQ(td2) && (td2->td_flags & TDF_SINTR) != 0)
- wakeup_swapper |= sleepq_abort(td2, ERESTART);
- break;
case SINGLE_NO_EXIT:
if (TD_IS_SUSPENDED(td2) && (td2->td_flags & TDF_BOUNDARY) == 0)
wakeup_swapper |= thread_unsuspend_one(td2, p, false);
@@ -856,8 +851,8 @@ thread_suspend_check(int return_instead)
/*
* The only suspension in action is a
* single-threading. Single threader need not stop.
- * XXX Should be safe to access unlocked
- * as it can only be set to be true by us.
+ * It is safe to access p->p_singlethread unlocked
+ * because it can only be set to our address by us.
*/
if (p->p_singlethread == td)
return (0); /* Exempt from stopping. */
OpenPOWER on IntegriCloud