diff options
| author | David Xu <davidxu@FreeBSD.org> | 2005-08-03 01:23:45 +0000 |
|---|---|---|
| committer | David Xu <davidxu@FreeBSD.org> | 2005-08-03 01:23:45 +0000 |
| commit | 3c424d14473f2f0c59d8c1d49d62c6e4281cd50c (patch) | |
| tree | 8e35a172cd118787060f8ebb8bac0c9231ccb305 | |
| parent | 7f2461f3156342398622a9976fa88cdfad37508b (diff) | |
Notes
| -rw-r--r-- | sys/kern/kern_switch.c | 7 |
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); |
