From d70eb569f2db11ea39b2b18c4ebe448b6d37eaa0 Mon Sep 17 00:00:00 2001 From: tomasz1986 Date: Fri, 21 Jul 2023 06:38:15 +0200 Subject: [PATCH] lib/osutil: Skip setLowPriority in Windows if already lower (fixes #6597) (#8993) --- lib/osutil/lowprio_windows.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/osutil/lowprio_windows.go b/lib/osutil/lowprio_windows.go index 1efee52b2..3cf97aa1a 100644 --- a/lib/osutil/lowprio_windows.go +++ b/lib/osutil/lowprio_windows.go @@ -21,6 +21,11 @@ func SetLowPriority() error { } defer windows.CloseHandle(handle) + if cur, err := windows.GetPriorityClass(handle); err == nil && (cur == windows.IDLE_PRIORITY_CLASS || cur == windows.BELOW_NORMAL_PRIORITY_CLASS) { + // We're done here. + return nil + } + if err := windows.SetPriorityClass(handle, windows.BELOW_NORMAL_PRIORITY_CLASS); err != nil { return fmt.Errorf("set priority class: %w", err) }