From 99a05dbc889252033c41a5800a1e10bac823fa4c Mon Sep 17 00:00:00 2001 From: Siyuan Date: Fri, 26 Sep 2025 13:21:47 +0000 Subject: [PATCH] add lock to usb state --- usb.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/usb.go b/usb.go index aa7d78f9..f476773b 100644 --- a/usb.go +++ b/usb.go @@ -1,6 +1,7 @@ package kvm import ( + "sync" "time" "github.com/jetkvm/kvm/internal/usbgadget" @@ -77,7 +78,10 @@ func rpcGetKeysDownState() (state usbgadget.KeysDownState) { return gadget.GetKeysDownState() } -var usbState = "unknown" +var ( + usbState = "unknown" + usbStateLock sync.Mutex +) func rpcGetUSBState() (state string) { return gadget.GetUsbState() @@ -94,7 +98,11 @@ func triggerUSBStateUpdate() { } func checkUSBState() { + usbStateLock.Lock() + defer usbStateLock.Unlock() + newState := gadget.GetUsbState() + if newState == usbState { return }