From 649c83530a9c3a71319ed3d2ff53d9ecf2f2fd04 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Mon, 1 Sep 2014 21:55:57 -0400 Subject: [PATCH] runtime: fix race detector running Go code on g0 of non-main thread It looks like this has just always been broken: the race detector handles running Go code on g0 of the main thread and on g0 of any extra threads created by non-Go code, but it does not handle running Go code on g0 of non-main threads created by Go. Handle that. Should fix the race build failures on the dashboard. We're running into this now because we are running more and more Go code on g0. TBR=dvyukov CC=golang-codereviews https://golang.org/cl/137910043 --- src/pkg/runtime/proc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/pkg/runtime/proc.c b/src/pkg/runtime/proc.c index 9143fcf596..1a82c8e541 100644 --- a/src/pkg/runtime/proc.c +++ b/src/pkg/runtime/proc.c @@ -1077,6 +1077,8 @@ newm(void(*fn)(void), P *p) mp = runtime·allocm(p); mp->nextp = p; mp->mstartfn = fn; + if(raceenabled) + mp->g0->racectx = runtime·racegostart(newm); if(runtime·iscgo) { CgoThreadStart ts; -- 2.48.1