From 2001f0c28ef4f2b7b907d060901a6fad2f1e9eb0 Mon Sep 17 00:00:00 2001 From: Jan Ziak <0xe2.0x9a.0x9b@gmail.com> Date: Wed, 20 Mar 2013 20:36:33 +0100 Subject: [PATCH] runtime: prevent garbage collection during hashmap insertion (fix 2) Fixes #5074 in multi-threaded scenarios. R=golang-dev, daniel.morsing, dave, dvyukov, bradfitz, rsc CC=golang-dev, remyoudompheng https://golang.org/cl/7916043 --- src/pkg/runtime/malloc.goc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pkg/runtime/malloc.goc b/src/pkg/runtime/malloc.goc index aae3d233fc..fa28e2b738 100644 --- a/src/pkg/runtime/malloc.goc +++ b/src/pkg/runtime/malloc.goc @@ -35,7 +35,7 @@ runtime·mallocgc(uintptr size, uint32 flag, int32 dogc, int32 zeroed) MSpan *s; void *v; - if(runtime·gcwaiting && g != m->g0 && m->locks == 0) + if(runtime·gcwaiting && g != m->g0 && m->locks == 0 && dogc) runtime·gosched(); if(m->mallocing) runtime·throw("malloc/free - deadlock"); -- 2.50.0