diff options
Diffstat (limited to 'src/pkg/runtime/proc.c')
-rw-r--r-- | src/pkg/runtime/proc.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/pkg/runtime/proc.c b/src/pkg/runtime/proc.c index 6ac4090eb..6324b4be4 100644 --- a/src/pkg/runtime/proc.c +++ b/src/pkg/runtime/proc.c @@ -14,6 +14,8 @@ G g0; // idle goroutine for m0 static int32 debug = 0; +int32 gcwaiting; + // Go scheduler // // The go scheduler's job is to match ready-to-run goroutines (`g's) @@ -362,6 +364,7 @@ void stoptheworld(void) { lock(&sched); + gcwaiting = 1; sched.mcpumax = 1; while(sched.mcpu > 1) { noteclear(&sched.stopped); @@ -379,6 +382,7 @@ void starttheworld(void) { lock(&sched); + gcwaiting = 0; sched.mcpumax = sched.gomaxprocs; matchmg(); unlock(&sched); |