diff options
author | tanimura <tanimura@FreeBSD.org> | 2002-07-21 10:55:57 +0000 |
---|---|---|
committer | tanimura <tanimura@FreeBSD.org> | 2002-07-21 10:55:57 +0000 |
commit | 6c7dddef247aa29c7ba3885c77f0ac1093e6a08a (patch) | |
tree | 8515260500fe237b6bbe97f621f7756d5102ce21 /sys/vm/vm_glue.c | |
parent | bd9024b4d748fdf8b2fdc9b4c5cf222eea49fa8d (diff) | |
download | FreeBSD-src-6c7dddef247aa29c7ba3885c77f0ac1093e6a08a.zip FreeBSD-src-6c7dddef247aa29c7ba3885c77f0ac1093e6a08a.tar.gz |
Do not pass a thread with the state TDS_RUNQ to setrunqueue(), otherwise
assertion in setrunqueue() fails.
Diffstat (limited to 'sys/vm/vm_glue.c')
-rw-r--r-- | sys/vm/vm_glue.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/vm/vm_glue.c b/sys/vm/vm_glue.c index cf37e46..36f709d 100644 --- a/sys/vm/vm_glue.c +++ b/sys/vm/vm_glue.c @@ -504,8 +504,11 @@ faultin(p) PROC_LOCK(p); mtx_lock_spin(&sched_lock); FOREACH_THREAD_IN_PROC (p, td) - if (td->td_state == TDS_RUNQ) /* XXXKSE */ + if (td->td_state == TDS_RUNQ) { /* XXXKSE */ + /* XXXKSE TDS_RUNQ causes assertion failure. */ + td->td_state = TDS_UNQUEUED; setrunqueue(td); + } p->p_sflag |= PS_INMEM; |