diff options
author | jhb <jhb@FreeBSD.org> | 2001-03-09 03:59:50 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2001-03-09 03:59:50 +0000 |
commit | 3c0c5bd7cbbc234a43189123df7446e16d27be8f (patch) | |
tree | da60ffcf9ba66b9c3d26eb30fb1069c6e10629d0 /sys | |
parent | 12430ff9ce4d9eb82ead521b86efdeaa11b1f945 (diff) | |
download | FreeBSD-src-3c0c5bd7cbbc234a43189123df7446e16d27be8f.zip FreeBSD-src-3c0c5bd7cbbc234a43189123df7446e16d27be8f.tar.gz |
Add a new informative KASSERT to ensure that a process is in the SRUN state
before we return it to cpu_switch().
Diffstat (limited to 'sys')
-rw-r--r-- | sys/kern/kern_switch.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/kern/kern_switch.c b/sys/kern/kern_switch.c index bfe0e7f..0dd8538 100644 --- a/sys/kern/kern_switch.c +++ b/sys/kern/kern_switch.c @@ -190,6 +190,9 @@ runq_choose(struct runq *rq) rqh = &rq->rq_queues[pri]; p = TAILQ_FIRST(rqh); KASSERT(p != NULL, ("runq_choose: no proc on busy queue")); + KASSERT(p->p_stat == SRUN, + ("runq_chose: process %d(%s) in state %d", p->p_pid, + p->p_comm, p->p_stat)); CTR3(KTR_RUNQ, "runq_choose: pri=%d p=%p rqh=%p", pri, p, rqh); TAILQ_REMOVE(rqh, p, p_procq); if (TAILQ_EMPTY(rqh)) { |