aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Xu <davidxu@FreeBSD.org>2005-08-03 01:23:45 +0000
committerDavid Xu <davidxu@FreeBSD.org>2005-08-03 01:23:45 +0000
commit3c424d14473f2f0c59d8c1d49d62c6e4281cd50c (patch)
tree8e35a172cd118787060f8ebb8bac0c9231ccb305
parent7f2461f3156342398622a9976fa88cdfad37508b (diff)
Notes
-rw-r--r--sys/kern/kern_switch.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/kern/kern_switch.c b/sys/kern/kern_switch.c
index 498d98cf1219..b5c813059b3f 100644
--- a/sys/kern/kern_switch.c
+++ b/sys/kern/kern_switch.c
@@ -312,7 +312,12 @@ adjustrunqueue( struct thread *td, int newpri)
/* It is a threaded process */
kg = td->td_ksegrp;
- if (ke->ke_state == KES_ONRUNQ) {
+ if (ke->ke_state == KES_ONRUNQ
+#ifdef SCHED_ULE
+ || ((ke->ke_flags & KEF_ASSIGNED) != 0 &&
+ (ke->ke_flags & KEF_REMOVED) == 0)
+#endif
+ ) {
if (kg->kg_last_assigned == td) {
kg->kg_last_assigned =
TAILQ_PREV(td, threadqueue, td_runq);