diff options
Diffstat (limited to 'sys/kern/subr_trap.c')
-rw-r--r-- | sys/kern/subr_trap.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/kern/subr_trap.c b/sys/kern/subr_trap.c index b2fc0fc..9eaa5b8 100644 --- a/sys/kern/subr_trap.c +++ b/sys/kern/subr_trap.c @@ -245,10 +245,12 @@ ast(struct trapframe *framep) sigs = 0; PROC_LOCK(p); + mtx_lock(&p->p_sigacts->ps_mtx); while ((sig = cursig(td)) != 0) { postsig(sig); sigs++; } + mtx_unlock(&p->p_sigacts->ps_mtx); PROC_UNLOCK(p); if (p->p_flag & P_THREADED && sigs) { struct kse_upcall *ku = td->td_upcall; |