diff options
author | Edward Tomasz Napierala <trasz@FreeBSD.org> | 2020-10-03 12:03:08 +0000 |
---|---|---|
committer | Edward Tomasz Napierala <trasz@FreeBSD.org> | 2020-10-03 12:03:08 +0000 |
commit | 4658877815f78aea73353b288bec4076854430a3 (patch) | |
tree | a8593716dd17584cbce6aa02fe90b08211800d96 | |
parent | fedeb08b6a58e708e1153224d37ad26bdc1062a2 (diff) |
Notes
-rw-r--r-- | sys/kern/kern_ktrace.c | 3 | ||||
-rw-r--r-- | sys/kern/subr_trap.c | 7 |
2 files changed, 7 insertions, 3 deletions
diff --git a/sys/kern/kern_ktrace.c b/sys/kern/kern_ktrace.c index 89c3318a485f8..8728801acdf7d 100644 --- a/sys/kern/kern_ktrace.c +++ b/sys/kern/kern_ktrace.c @@ -347,6 +347,9 @@ ktr_enqueuerequest(struct thread *td, struct ktr_request *req) mtx_lock(&ktrace_mtx); STAILQ_INSERT_TAIL(&td->td_proc->p_ktr, req, ktr_list); mtx_unlock(&ktrace_mtx); + thread_lock(td); + td->td_flags |= TDF_ASTPENDING; + thread_unlock(td); } /* diff --git a/sys/kern/subr_trap.c b/sys/kern/subr_trap.c index 3c7e54e3b195a..0c7e43c40ea26 100644 --- a/sys/kern/subr_trap.c +++ b/sys/kern/subr_trap.c @@ -130,9 +130,6 @@ userret(struct thread *td, struct trapframe *frame) PROC_UNLOCK(p); } #endif -#ifdef KTRACE - KTRUSERRET(td); -#endif /* * Charge system time if profiling. @@ -341,6 +338,10 @@ ast(struct trapframe *framep) if (td->td_pflags & TDP_SIGFASTPENDING) sigfastblock_setpend(td, false); +#ifdef KTRACE + KTRUSERRET(td); +#endif + /* * We need to check to see if we have to exit or wait due to a * single threading requirement or some other STOP condition. |