From 303afeb279b757a4573e1b1afd781003af271a58 Mon Sep 17 00:00:00 2001 From: rrs Date: Thu, 15 Nov 2007 14:20:07 +0000 Subject: - Adds event handlers for process_ctor,process_dtor, process_init, process_fini, thread_ctor, thread_dtor, thread_init, thread_fini. This will allow us to extend dynamically areas in proc/thread for dtrace ;-) Reviewed by: rwatson --- sys/kern/kern_thread.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'sys/kern/kern_thread.c') diff --git a/sys/kern/kern_thread.c b/sys/kern/kern_thread.c index 7ff40eb..e176b87 100644 --- a/sys/kern/kern_thread.c +++ b/sys/kern/kern_thread.c @@ -49,6 +49,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include /* * thread related storage. @@ -126,7 +127,7 @@ thread_ctor(void *mem, int size, void *arg, int flags) * end of a context switch. */ td->td_critnest = 1; - + EVENTHANDLER_INVOKE(thread_ctor, td); #ifdef AUDIT audit_thread_alloc(td); #endif @@ -167,6 +168,7 @@ thread_dtor(void *mem, int size, void *arg) #ifdef AUDIT audit_thread_free(td); #endif + EVENTHANDLER_INVOKE(thread_dtor, td); free_unr(tid_unrhdr, td->td_tid); sched_newthread(td); } @@ -183,6 +185,7 @@ thread_init(void *mem, int size, int flags) td->td_sleepqueue = sleepq_alloc(); td->td_turnstile = turnstile_alloc(); + EVENTHANDLER_INVOKE(thread_init, td); td->td_sched = (struct td_sched *)&td[1]; sched_newthread(td); umtx_thread_init(td); @@ -199,6 +202,7 @@ thread_fini(void *mem, int size) struct thread *td; td = (struct thread *)mem; + EVENTHANDLER_INVOKE(thread_fini, td); turnstile_free(td->td_turnstile); sleepq_free(td->td_sleepqueue); umtx_thread_fini(td); -- cgit v1.1