1
0
mirror of https://github.com/golang/go synced 2024-09-23 09:23:20 -06:00

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>
This commit is contained in:
Kir Kolyshkin 2024-08-30 00:23:50 -07:00 committed by Gopher Robot
parent 6fa224a809
commit 995c816a7a

View File

@ -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, ""
}
})