diff options
author | julian <julian@FreeBSD.org> | 2002-09-23 06:14:30 +0000 |
---|---|---|
committer | julian <julian@FreeBSD.org> | 2002-09-23 06:14:30 +0000 |
commit | bcb38a31ff0d92c47ebc284b3704fa8f94de02ba (patch) | |
tree | f505371e70c97ad9695c39108f12bdbc6ed43148 /sys/kern/subr_trap.c | |
parent | a7014de16e80c2864b6f25c7a67c110184c0cb5e (diff) | |
download | FreeBSD-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.c | 7 |
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; |