summaryrefslogtreecommitdiff
path: root/sys/kern/kern_thread.c
diff options
context:
space:
mode:
authorJeff Roberson <jeff@FreeBSD.org>2009-03-15 06:41:47 +0000
committerJeff Roberson <jeff@FreeBSD.org>2009-03-15 06:41:47 +0000
commit2e6b8de46211186a3e6c6362831c37f9f15b9ae0 (patch)
treed61628888fc3c8f39efa8355161b1f2c39147b98 /sys/kern/kern_thread.c
parent9dffe835eb8531a3ee0c0a40316c91495d89a3c1 (diff)
Notes
Diffstat (limited to 'sys/kern/kern_thread.c')
-rw-r--r--sys/kern/kern_thread.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/kern/kern_thread.c b/sys/kern/kern_thread.c
index 460600568715..bb8779b1da82 100644
--- a/sys/kern/kern_thread.c
+++ b/sys/kern/kern_thread.c
@@ -306,6 +306,8 @@ thread_alloc(void)
void
thread_free(struct thread *td)
{
+
+ lock_profile_thread_exit(td);
if (td->td_cpuset)
cpuset_rel(td->td_cpuset);
td->td_cpuset = NULL;
@@ -439,6 +441,7 @@ thread_wait(struct proc *p)
/* Wait for any remaining threads to exit cpu_throw(). */
while (p->p_exitthreads)
sched_relinquish(curthread);
+ lock_profile_thread_exit(td);
cpuset_rel(td->td_cpuset);
td->td_cpuset = NULL;
cpu_thread_clean(td);