diff --git a/src/runtime/Makefile b/src/runtime/Makefile index 2cdb4a97937..b9e57701037 100644 --- a/src/runtime/Makefile +++ b/src/runtime/Makefile @@ -59,5 +59,5 @@ sys_file.$O: sys_file.c sys_types.h $(OS_H) %.$O: %.s $(AS) $< -runtime.acid: runtime.h - $(CC) -a runtime.h >runtime.acid +runtime.acid: runtime.h proc.c + $(CC) -a proc.c >runtime.acid diff --git a/src/runtime/proc.c b/src/runtime/proc.c index 4fdcd4ec293..58c791b6e42 100644 --- a/src/runtime/proc.c +++ b/src/runtime/proc.c @@ -297,7 +297,7 @@ static void readylocked(G *g) { M *m; - + if(g->m){ // Running on another machine. // Ready it when it stops. @@ -346,7 +346,7 @@ nextgandunlock(void) mput(m); if(sched.mcount == sched.mwait) - prints("warning: all goroutines are asleep - deadlock!\n"); + throw("all goroutines are asleep - deadlock!"); m->nextg = nil; noteclear(&m->havenextg); unlock(&sched); @@ -377,7 +377,7 @@ scheduler(void) // Jumped here via gosave/gogo, so didn't // execute lock(&sched) above. lock(&sched); - + if(sched.predawn) throw("init sleeping"); diff --git a/src/runtime/runtime.h b/src/runtime/runtime.h index 86afaaa7c21..f590472439b 100644 --- a/src/runtime/runtime.h +++ b/src/runtime/runtime.h @@ -186,7 +186,6 @@ struct SigTab */ extern Alg algarray[3]; extern string emptystring; -M* allm; G* allg; int32 goidgen; extern int32 gomaxprocs;