Browse Source

Merge pull request #28185 from Microsoft/jjh/concurrentaccess

Windows: Avoid concurrent access to sysinfo
John Howard 8 years ago
parent
commit
64a42d656b
1 changed files with 2 additions and 2 deletions
  1. 2 2
      pkg/platform/architecture_windows.go

+ 2 - 2
pkg/platform/architecture_windows.go

@@ -34,10 +34,9 @@ const (
 	ProcessorArchitectureArm  = 5 // PROCESSOR_ARCHITECTURE_ARM
 )
 
-var sysinfo systeminfo
-
 // runtimeArchitecture gets the name of the current architecture (x86, x86_64, …)
 func runtimeArchitecture() (string, error) {
+	var sysinfo systeminfo
 	syscall.Syscall(procGetSystemInfo.Addr(), 1, uintptr(unsafe.Pointer(&sysinfo)), 0, 0)
 	switch sysinfo.wProcessorArchitecture {
 	case ProcessorArchitecture64, ProcessorArchitectureIA64:
@@ -53,6 +52,7 @@ func runtimeArchitecture() (string, error) {
 
 // NumProcs returns the number of processors on the system
 func NumProcs() uint32 {
+	var sysinfo systeminfo
 	syscall.Syscall(procGetSystemInfo.Addr(), 1, uintptr(unsafe.Pointer(&sysinfo)), 0, 0)
 	return sysinfo.dwNumberOfProcessors
 }