aboutsummaryrefslogtreecommitdiff
path: root/src/internal/testenv
diff options
context:
space:
mode:
authorKir Kolyshkin <kolyshkin@gmail.com>2024-08-30 00:23:50 -0700
committerGopher Robot <gobot@golang.org>2024-09-03 19:31:55 +0000
commit995c816a7a9190db1ac0870cf2c424385b03ac4b (patch)
treedf3502862bb78a91f9a9518927664186bbd040a5 /src/internal/testenv
parent6fa224a80965a32228f9bc13cfe667af500d0a9d (diff)
downloadgo-995c816a7a9190db1ac0870cf2c424385b03ac4b.tar.xz
internal/testenv: use sync.OnceValues for hasSymlink
On some platforms (android, wasip1) this function is called many times which probably results in some slowdown, especially for wasip1. Wrap it into sync.OnceValues. Change-Id: Id290ffd8d1e7ad806302f457e8fff2e3123b49a5 Reviewed-on: https://go-review.googlesource.com/c/go/+/609418 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com> Auto-Submit: Ian Lance Taylor <iant@google.com>
Diffstat (limited to 'src/internal/testenv')
-rw-r--r--src/internal/testenv/testenv_notwin.go5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/internal/testenv/testenv_notwin.go b/src/internal/testenv/testenv_notwin.go
index 30e159a6ec..9dddea94d0 100644
--- a/src/internal/testenv/testenv_notwin.go
+++ b/src/internal/testenv/testenv_notwin.go
@@ -11,9 +11,10 @@ import (
"os"
"path/filepath"
"runtime"
+ "sync"
)
-func hasSymlink() (ok bool, reason string) {
+var hasSymlink = sync.OnceValues(func() (ok bool, reason string) {
switch runtime.GOOS {
case "plan9":
return false, ""
@@ -43,4 +44,4 @@ func hasSymlink() (ok bool, reason string) {
}
return true, ""
-}
+})