From 3f29740e1842441776782008b0aea8d5a498a8f9 Mon Sep 17 00:00:00 2001 From: Derek Perkins Date: Fri, 19 Jun 2020 23:41:42 -0600 Subject: [PATCH 1/2] fix goroutine race condition --- groupcache.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/groupcache.go b/groupcache.go index 480e504..d416d42 100644 --- a/groupcache.go +++ b/groupcache.go @@ -265,10 +265,10 @@ func (g *Group) Remove(ctx context.Context, key string) error { } wg.Add(1) - go func() { + go func(peer string) { errs <- g.removeFromPeer(ctx, peer, key) wg.Done() - }() + }(peer) } go func() { wg.Wait() From 3979bf0f99c475b7b8f514dbb7eea12d39363990 Mon Sep 17 00:00:00 2001 From: Derek Perkins Date: Fri, 19 Jun 2020 23:51:41 -0600 Subject: [PATCH 2/2] fix type --- groupcache.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/groupcache.go b/groupcache.go index d416d42..ae400ca 100644 --- a/groupcache.go +++ b/groupcache.go @@ -265,7 +265,7 @@ func (g *Group) Remove(ctx context.Context, key string) error { } wg.Add(1) - go func(peer string) { + go func(peer ProtoGetter) { errs <- g.removeFromPeer(ctx, peer, key) wg.Done() }(peer)