]> Cypherpunks repositories - gostls13.git/commitdiff
all: make use of sync.Map.Clear
authorJes Cok <xigua67damn@gmail.com>
Fri, 26 Apr 2024 13:17:57 +0000 (21:17 +0800)
committerGopher Robot <gobot@golang.org>
Fri, 26 Apr 2024 21:32:11 +0000 (21:32 +0000)
Since CL 515015 added sync.Map.Clear method, we can use it to make
the code simpler and clearer.

Change-Id: I29edc969431b4fd95cd5fd864953a71ca1538dd3
Reviewed-on: https://go-review.googlesource.com/c/go/+/582015
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Joedian Reid <joedian@google.com>
Reviewed-by: Damien Neil <dneil@google.com>
src/cmd/go/internal/par/work.go
src/expvar/expvar.go
src/mime/type.go

index 5b6de9425a583f17c67b8c2da7de5b2a3d17dd0d..3f1e69adfef0e839dc76226d7b2c359806719458 100644 (file)
@@ -189,10 +189,7 @@ func (c *Cache[K, V]) Get(key K) (V, bool) {
 // TODO(jayconrod): Delete this after the package cache clearing functions
 // in internal/load have been removed.
 func (c *Cache[K, V]) Clear() {
-       c.m.Range(func(key, value any) bool {
-               c.m.Delete(key)
-               return true
-       })
+       c.m.Clear()
 }
 
 // Delete removes an entry from the map. It is safe to call Delete for an
index ffe35d62f917a7127f57af8a64253cf064782b82..4f66848f1fe4cf94ea9b50f02beef556ec57270d 100644 (file)
@@ -169,10 +169,7 @@ func (v *Map) Init() *Map {
        v.keysMu.Lock()
        defer v.keysMu.Unlock()
        v.keys = v.keys[:0]
-       v.m.Range(func(k, _ any) bool {
-               v.m.Delete(k)
-               return true
-       })
+       v.m.Clear()
        return v
 }
 
index 465ecf0d599ccbac420a313fb9cb7603ec1b0504..6d4266929c350f83919a3997b2f24c643ef1ee98 100644 (file)
@@ -22,18 +22,11 @@ var (
        extensions   sync.Map   // map[string][]string; slice values are append-only.
 )
 
-func clearSyncMap(m *sync.Map) {
-       m.Range(func(k, _ any) bool {
-               m.Delete(k)
-               return true
-       })
-}
-
 // setMimeTypes is used by initMime's non-test path, and by tests.
 func setMimeTypes(lowerExt, mixExt map[string]string) {
-       clearSyncMap(&mimeTypes)
-       clearSyncMap(&mimeTypesLower)
-       clearSyncMap(&extensions)
+       mimeTypes.Clear()
+       mimeTypesLower.Clear()
+       extensions.Clear()
 
        for k, v := range lowerExt {
                mimeTypesLower.Store(k, v)