summaryrefslogtreecommitdiffstats
path: root/sys/kern/subr_trap.c
diff options
context:
space:
mode:
authordavidxu <davidxu@FreeBSD.org>2004-08-08 22:28:33 +0000
committerdavidxu <davidxu@FreeBSD.org>2004-08-08 22:28:33 +0000
commitf8c21c52ad6e966afbd00b332af6bf2335fff2e6 (patch)
tree839217d9d319f4873ee655585175e9b65bf90ed0 /sys/kern/subr_trap.c
parent771c5d4a501a447f6fa6b78a786adfc5abe9b8ab (diff)
downloadFreeBSD-src-f8c21c52ad6e966afbd00b332af6bf2335fff2e6.zip
FreeBSD-src-f8c21c52ad6e966afbd00b332af6bf2335fff2e6.tar.gz
Call thread_user_enter for M:N thread, ast() should be treated as another
entrance of kernel.
Diffstat (limited to 'sys/kern/subr_trap.c')
-rw-r--r--sys/kern/subr_trap.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/kern/subr_trap.c b/sys/kern/subr_trap.c
index 664fe63..fc129c4 100644
--- a/sys/kern/subr_trap.c
+++ b/sys/kern/subr_trap.c
@@ -162,6 +162,8 @@ ast(struct trapframe *framep)
mtx_assert(&sched_lock, MA_NOTOWNED);
td->td_frame = framep;
+ if ((p->p_flag & P_SA) && (td->td_mailbox == NULL))
+ thread_user_enter(p, td);
/*
* This updates the p_sflag's for the checks below in one
* "atomic" operation with turning off the astpending flag.
OpenPOWER on IntegriCloud