From fc40494359513cc4eceb748d97c1cbc35b6782f3 Mon Sep 17 00:00:00 2001 From: Daniel Eischen Date: Wed, 6 Aug 2003 00:43:28 +0000 Subject: [PATCH] Don't call kse_set_curthread() when scheduling a new bound thread. It should only be called by the current kse and never by a KSE on behalf of another. Submitted by: davidxu --- lib/libkse/thread/thr_kern.c | 5 +++-- lib/libpthread/thread/thr_kern.c | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/libkse/thread/thr_kern.c b/lib/libkse/thread/thr_kern.c index 085c079c89c..ba75f0dc3d5 100644 --- a/lib/libkse/thread/thr_kern.c +++ b/lib/libkse/thread/thr_kern.c @@ -1351,9 +1351,10 @@ _thr_schedule_add(struct pthread *curthread, struct pthread *newthread) KSEG_THRQ_ADD(newthread->kseg, newthread); /* this thread never gives up kse */ newthread->active = 1; - kse_set_curthread(newthread->kse, newthread); + newthread->kse->k_curthread = newthread; newthread->kse->k_kcb->kcb_kmbx.km_flags = KMF_BOUND; - newthread->kse->k_kcb->kcb_kmbx.km_func = (kse_func_t *)kse_sched_single; + newthread->kse->k_kcb->kcb_kmbx.km_func = + (kse_func_t *)kse_sched_single; newthread->kse->k_kcb->kcb_kmbx.km_quantum = 0; KSE_SET_MBOX(newthread->kse, newthread); /* diff --git a/lib/libpthread/thread/thr_kern.c b/lib/libpthread/thread/thr_kern.c index 085c079c89c..ba75f0dc3d5 100644 --- a/lib/libpthread/thread/thr_kern.c +++ b/lib/libpthread/thread/thr_kern.c @@ -1351,9 +1351,10 @@ _thr_schedule_add(struct pthread *curthread, struct pthread *newthread) KSEG_THRQ_ADD(newthread->kseg, newthread); /* this thread never gives up kse */ newthread->active = 1; - kse_set_curthread(newthread->kse, newthread); + newthread->kse->k_curthread = newthread; newthread->kse->k_kcb->kcb_kmbx.km_flags = KMF_BOUND; - newthread->kse->k_kcb->kcb_kmbx.km_func = (kse_func_t *)kse_sched_single; + newthread->kse->k_kcb->kcb_kmbx.km_func = + (kse_func_t *)kse_sched_single; newthread->kse->k_kcb->kcb_kmbx.km_quantum = 0; KSE_SET_MBOX(newthread->kse, newthread); /*