]> Cypherpunks repositories - gostls13.git/commitdiff
net: simplify readProtocols via sync.OnceFunc
author1911860538 <alxps1911@gmail.com>
Fri, 18 Apr 2025 14:11:29 +0000 (14:11 +0000)
committerGopher Robot <gobot@golang.org>
Sat, 19 Apr 2025 23:11:06 +0000 (16:11 -0700)
In this case, using sync.OnceFunc is a better choice.

Change-Id: I52d27b9741265c90300a04a03537020e1aaaaaa7
GitHub-Last-Rev: a281daea255f1508a9042e8c8c7eb7ca1cef2430
GitHub-Pull-Request: golang/go#73434
Reviewed-on: https://go-review.googlesource.com/c/go/+/666635
Reviewed-by: David Chase <drchase@google.com>
Auto-Submit: Jorropo <jorropo.pgm@gmail.com>
Reviewed-by: Damien Neil <dneil@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Jorropo <jorropo.pgm@gmail.com>
src/net/lookup_unix.go

index 382a2d44bb5cfdbc58a53b121875b98e7c7f28e7..7416cb01f80efe7aa161b7164412ec7e85e2201e 100644 (file)
@@ -12,11 +12,9 @@ import (
        "sync"
 )
 
-var onceReadProtocols sync.Once
-
-// readProtocols loads contents of /etc/protocols into protocols map
+// readProtocolsOnce loads contents of /etc/protocols into protocols map
 // for quick access.
-func readProtocols() {
+var readProtocolsOnce = sync.OnceFunc(func() {
        file, err := open("/etc/protocols")
        if err != nil {
                return
@@ -43,12 +41,12 @@ func readProtocols() {
                        }
                }
        }
-}
+})
 
 // lookupProtocol looks up IP protocol name in /etc/protocols and
 // returns correspondent protocol number.
 func lookupProtocol(_ context.Context, name string) (int, error) {
-       onceReadProtocols.Do(readProtocols)
+       readProtocolsOnce()
        return lookupProtocolMap(name)
 }