]> Devi Nivas Git - cs3210-lab1.git/commitdiff
check preconditions in sched
authorrsc <rsc>
Thu, 7 Sep 2006 16:54:00 +0000 (16:54 +0000)
committerrsc <rsc>
Thu, 7 Sep 2006 16:54:00 +0000 (16:54 +0000)
proc.c

diff --git a/proc.c b/proc.c
index 37fd768fe855502f0ea6258170dc1308ed3be156..e48f1ca779981aa523ca121cecf7843d84a56957 100644 (file)
--- 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);
 }