add lock to usb state

This commit is contained in:
Siyuan 2025-09-26 13:21:47 +00:00
parent c166602481
commit 99a05dbc88
1 changed files with 9 additions and 1 deletions

10
usb.go
View File

@ -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
}