diff options
author | julian <julian@FreeBSD.org> | 2002-10-26 04:44:17 +0000 |
---|---|---|
committer | julian <julian@FreeBSD.org> | 2002-10-26 04:44:17 +0000 |
commit | 64467d2a2f613c979b9899e3f2099af3d84348a5 (patch) | |
tree | d2c2261decd2b0cb6aaeebb97f2935d4658e729e /sys/kern | |
parent | 399bd27ee2b4d2da48540b3b06950046f4eeb912 (diff) | |
download | FreeBSD-src-64467d2a2f613c979b9899e3f2099af3d84348a5.zip FreeBSD-src-64467d2a2f613c979b9899e3f2099af3d84348a5.tar.gz |
iBack out david's last commit. the suspension code needs to be called
for non KSE processes too.
Diffstat (limited to 'sys/kern')
-rw-r--r-- | sys/kern/kern_kse.c | 12 | ||||
-rw-r--r-- | sys/kern/kern_thread.c | 12 | ||||
-rw-r--r-- | sys/kern/subr_trap.c | 15 |
3 files changed, 13 insertions, 26 deletions
diff --git a/sys/kern/kern_kse.c b/sys/kern/kern_kse.c index 7721788..2b4ad4a 100644 --- a/sys/kern/kern_kse.c +++ b/sys/kern/kern_kse.c @@ -1241,18 +1241,6 @@ thread_userret(struct thread *td, struct trapframe *frame) p = td->td_proc; /* - * We need to check to see if we have to exit or wait due to a - * single threading requirement or some other STOP condition. - * Don't bother doing all the work if the stop bits are not set - * at this time.. If we miss it, we miss it.. no big deal. - */ - if (P_SHOULDSTOP(p)) { - PROC_LOCK(p); - thread_suspend_check(0); /* Can suspend or kill */ - PROC_UNLOCK(p); - } - - /* * Originally bound threads never upcall but they may * loan out their KSE at this point. * Upcalls imply bound.. They also may want to do some Philantropy. diff --git a/sys/kern/kern_thread.c b/sys/kern/kern_thread.c index 7721788..2b4ad4a 100644 --- a/sys/kern/kern_thread.c +++ b/sys/kern/kern_thread.c @@ -1241,18 +1241,6 @@ thread_userret(struct thread *td, struct trapframe *frame) p = td->td_proc; /* - * We need to check to see if we have to exit or wait due to a - * single threading requirement or some other STOP condition. - * Don't bother doing all the work if the stop bits are not set - * at this time.. If we miss it, we miss it.. no big deal. - */ - if (P_SHOULDSTOP(p)) { - PROC_LOCK(p); - thread_suspend_check(0); /* Can suspend or kill */ - PROC_UNLOCK(p); - } - - /* * Originally bound threads never upcall but they may * loan out their KSE at this point. * Upcalls imply bound.. They also may want to do some Philantropy. diff --git a/sys/kern/subr_trap.c b/sys/kern/subr_trap.c index 2337423..9f8bed0 100644 --- a/sys/kern/subr_trap.c +++ b/sys/kern/subr_trap.c @@ -100,8 +100,19 @@ userret(td, frame, oticks) sched_userret(td); /* - * Do special thread processing, e.g. suspension checking, upcall - * tweaking and such. + * We need to check to see if we have to exit or wait due to a + * single threading requirement or some other STOP condition. + * Don't bother doing all the work if the stop bits are not set + * at this time.. If we miss it, we miss it.. no big deal. + */ + if (P_SHOULDSTOP(p)) { + PROC_LOCK(p); + thread_suspend_check(0); /* Can suspend or kill */ + PROC_UNLOCK(p); + } + + /* + * Do special thread processing, e.g. upcall tweaking and such. */ if (p->p_flag & P_KSES) { thread_userret(td, frame); |