From: rsc Date: Thu, 7 Sep 2006 16:54:00 +0000 (+0000) Subject: check preconditions in sched X-Git-Url: https://git.devinivas.org/?a=commitdiff_plain;h=b6cac0a53b45a8f35e348dc3235243c066aab747;p=cs3210-lab0.git check preconditions in sched --- diff --git a/proc.c b/proc.c index 37fd768..e48f1ca 100644 --- a/proc.c +++ b/proc.c @@ -207,6 +207,11 @@ sched(void) { struct proc *p = curproc[cpu()]; + if(!holding(&proc_table_lock)) + panic("sched"); + if(cpus[cpu()].nlock != 1) + panic("sched locks"); + if(setjmp(&p->jmpbuf) == 0) longjmp(&cpus[cpu()].jmpbuf); }