From 176c44699b5be7861070c01856494b6b94ff918a Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Wed, 3 Sep 2014 12:48:32 -0400 Subject: [PATCH] runtime: remove guard against uninitialized forcegc.g The race was in the old C code. The new Go code does not have the race and does not need the check. LGTM=bradfitz, dvyukov R=golang-codereviews, bradfitz, dvyukov CC=golang-codereviews, rlh https://golang.org/cl/140180043 --- src/pkg/runtime/proc.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/pkg/runtime/proc.c b/src/pkg/runtime/proc.c index b159215d1b..71ea89705b 100644 --- a/src/pkg/runtime/proc.c +++ b/src/pkg/runtime/proc.c @@ -2955,12 +2955,9 @@ sysmon(void) lastgc = runtime·atomicload64(&mstats.last_gc); if(lastgc != 0 && unixnow - lastgc > forcegcperiod && runtime·atomicload(&runtime·forcegc.idle)) { runtime·lock(&runtime·forcegc.lock); - if(runtime·forcegc.g != nil) { - // Goroutine may be started but has not initialized g yet. - runtime·forcegc.idle = 0; - runtime·forcegc.g->schedlink = nil; - injectglist(runtime·forcegc.g); - } + runtime·forcegc.idle = 0; + runtime·forcegc.g->schedlink = nil; + injectglist(runtime·forcegc.g); runtime·unlock(&runtime·forcegc.lock); } -- 2.48.1