From ad4965d3320e74199332de7c5b23982cf996ee30 Mon Sep 17 00:00:00 2001 From: qydysky Date: Sat, 20 Feb 2021 13:29:14 +0800 Subject: [PATCH] map range bug fix --- map/Map.go | 1 + map/Map_test.go | 1 + 2 files changed, 2 insertions(+) diff --git a/map/Map.go b/map/Map.go index 37d8f84..48c2f5b 100644 --- a/map/Map.go +++ b/map/Map.go @@ -82,6 +82,7 @@ func (t *Map) Range(f func(key, value interface{})(bool)) { t.lock.Unlock() + m,_ = t.readOnly.Load().(map[interface{}]*ptr)//reload for k,p := range m{ v,ok := p.tryLoad() if !ok {continue} diff --git a/map/Map_test.go b/map/Map_test.go index ecdcb0a..73e5219 100644 --- a/map/Map_test.go +++ b/map/Map_test.go @@ -16,6 +16,7 @@ func Test_customMap(t *testing.T) { //range c.Store(1, 1) c.Range(func(key,value interface{})(bool){ + t.Log(key, value) if key.(int) != value.(int) {t.Error(`3`)} return true }) -- 2.39.2