diff options
| author | David Xu <davidxu@FreeBSD.org> | 2006-08-28 04:24:51 +0000 |
|---|---|---|
| committer | David Xu <davidxu@FreeBSD.org> | 2006-08-28 04:24:51 +0000 |
| commit | d10183d94d500a0b54413a4d9f1831190b890ec9 (patch) | |
| tree | 84ec485ba1683f60948063155f696af453fd3b21 /sys/kern/kern_thread.c | |
| parent | 66e1c26dbacd64b65fa1545cb458a09c8ea46e27 (diff) | |
Notes
Diffstat (limited to 'sys/kern/kern_thread.c')
| -rw-r--r-- | sys/kern/kern_thread.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/kern/kern_thread.c b/sys/kern/kern_thread.c index 1c18df83f8e4..e512fecf5957 100644 --- a/sys/kern/kern_thread.c +++ b/sys/kern/kern_thread.c @@ -140,6 +140,7 @@ thread_ctor(void *mem, int size, void *arg, int flags) #ifdef AUDIT audit_thread_alloc(td); #endif + umtx_thread_alloc(td); return (0); } @@ -194,9 +195,9 @@ thread_init(void *mem, int size, int flags) cpu_thread_setup(td); td->td_sleepqueue = sleepq_alloc(); td->td_turnstile = turnstile_alloc(); - td->td_umtxq = umtxq_alloc(); td->td_sched = (struct td_sched *)&td[1]; sched_newthread(td); + umtx_thread_init(td); return (0); } @@ -211,7 +212,7 @@ thread_fini(void *mem, int size) td = (struct thread *)mem; turnstile_free(td->td_turnstile); sleepq_free(td->td_sleepqueue); - umtxq_free(td->td_umtxq); + umtx_thread_fini(td); vm_thread_dispose(td); } @@ -486,6 +487,8 @@ thread_exit(void) td->td_standin = NULL; } + umtx_thread_exit(td); + /* * drop FPU & debug register state storage, or any other * architecture specific resources that |
