summaryrefslogtreecommitdiffstats
path: root/sys/kern/subr_trap.c
diff options
context:
space:
mode:
authorjulian <julian@FreeBSD.org>2002-09-23 06:14:30 +0000
committerjulian <julian@FreeBSD.org>2002-09-23 06:14:30 +0000
commitbcb38a31ff0d92c47ebc284b3704fa8f94de02ba (patch)
treef505371e70c97ad9695c39108f12bdbc6ed43148 /sys/kern/subr_trap.c
parenta7014de16e80c2864b6f25c7a67c110184c0cb5e (diff)
downloadFreeBSD-src-bcb38a31ff0d92c47ebc284b3704fa8f94de02ba.zip
FreeBSD-src-bcb38a31ff0d92c47ebc284b3704fa8f94de02ba.tar.gz
slightly clean up the thread_userret() and thread_consider_upcall() calls.
also some slight changes for TDF_BOUND testing and small style changes Should ONLY affect KSE programs Submitted by: davidxu
Diffstat (limited to 'sys/kern/subr_trap.c')
-rw-r--r--sys/kern/subr_trap.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/kern/subr_trap.c b/sys/kern/subr_trap.c
index ac14292..f120141 100644
--- a/sys/kern/subr_trap.c
+++ b/sys/kern/subr_trap.c
@@ -81,7 +81,7 @@ userret(td, frame, oticks)
PROC_LOCK(p);
mtx_lock_spin(&sched_lock);
if (SIGPENDING(p) && ((p->p_sflag & PS_NEEDSIGCHK) == 0 ||
- (ke->ke_flags & KEF_ASTPENDING) == 0))
+ (td->td_kse->ke_flags & KEF_ASTPENDING) == 0))
printf("failed to set signal flags properly for ast()\n");
mtx_unlock_spin(&sched_lock);
PROC_UNLOCK(p);
@@ -119,7 +119,7 @@ userret(td, frame, oticks)
* DO special thread processing, e.g. upcall tweaking and such
*/
if (p->p_flag & P_KSES) {
- thread_userret(p, kg, ke, td, frame);
+ thread_userret(td, frame);
/* printf("KSE thread returned"); */
}
@@ -149,7 +149,7 @@ ast(struct trapframe *framep)
{
struct thread *td = curthread;
struct proc *p = td->td_proc;
- struct kse *ke = td->td_kse;
+ struct kse *ke;
struct ksegrp *kg = td->td_ksegrp;
u_int prticks, sticks;
int sflag;
@@ -178,6 +178,7 @@ ast(struct trapframe *framep)
* ast() will be called again.
*/
mtx_lock_spin(&sched_lock);
+ ke = td->td_kse;
sticks = ke->ke_sticks;
sflag = p->p_sflag;
flags = ke->ke_flags;
OpenPOWER on IntegriCloud