diff options
author | davidxu <davidxu@FreeBSD.org> | 2004-08-08 22:28:33 +0000 |
---|---|---|
committer | davidxu <davidxu@FreeBSD.org> | 2004-08-08 22:28:33 +0000 |
commit | f8c21c52ad6e966afbd00b332af6bf2335fff2e6 (patch) | |
tree | 839217d9d319f4873ee655585175e9b65bf90ed0 /sys/kern/subr_trap.c | |
parent | 771c5d4a501a447f6fa6b78a786adfc5abe9b8ab (diff) | |
download | FreeBSD-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.c | 2 |
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. |