From 263b5ecba78f5fa503d1e47ad469d12b45e0a149 Mon Sep 17 00:00:00 2001 From: apocelipes Date: Mon, 21 Oct 2024 15:28:25 +0000 Subject: [PATCH] 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 --- src/os/file_windows.go | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) 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) -- 2.48.1