From: apocelipes Date: Mon, 21 Oct 2024 15:28:25 +0000 (+0000) Subject: os: use sync.OnceValue X-Git-Tag: go1.24rc1~629 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=263b5ecba78f5fa503d1e47ad469d12b45e0a149;p=gostls13.git os: use sync.OnceValue Simplify the code and reduce global variables. Change-Id: Id322836e8b6b6c4434136b95700ed4070ba52300 GitHub-Last-Rev: 7c9d409855c682b6de1f338f69d9193a7887f9f0 GitHub-Pull-Request: golang/go#69962 Reviewed-on: https://go-review.googlesource.com/c/go/+/621456 Reviewed-by: Michael Pratt Auto-Submit: Ian Lance Taylor LUCI-TryBot-Result: Go LUCI Reviewed-by: Ian Lance Taylor Reviewed-by: Tobias Klauser --- diff --git a/src/os/file_windows.go b/src/os/file_windows.go index f8a6c09bb5..465cf5d186 100644 --- a/src/os/file_windows.go +++ b/src/os/file_windows.go @@ -223,17 +223,13 @@ func Pipe() (r *File, w *File, err error) { return newFile(p[0], "|0", "pipe"), newFile(p[1], "|1", "pipe"), nil } -var ( - useGetTempPath2Once sync.Once - useGetTempPath2 bool -) +var useGetTempPath2 = sync.OnceValue(func() bool { + return windows.ErrorLoadingGetTempPath2() == nil +}) func tempDir() string { - useGetTempPath2Once.Do(func() { - useGetTempPath2 = (windows.ErrorLoadingGetTempPath2() == nil) - }) getTempPath := syscall.GetTempPath - if useGetTempPath2 { + if useGetTempPath2() { getTempPath = windows.GetTempPath2 } n := uint32(syscall.MAX_PATH)