From 8d03792479ff8b1a84b68901cbbd6c2d41313bab Mon Sep 17 00:00:00 2001 From: Siyuan Miao Date: Fri, 12 Sep 2025 10:41:23 +0200 Subject: [PATCH] chore: update logging for kbdAutoReleaseLock --- internal/usbgadget/hid_keyboard.go | 17 ++++++++++------- internal/usbgadget/utils.go | 6 ++++++ 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/internal/usbgadget/hid_keyboard.go b/internal/usbgadget/hid_keyboard.go index e3997ea6..0c17355d 100644 --- a/internal/usbgadget/hid_keyboard.go +++ b/internal/usbgadget/hid_keyboard.go @@ -179,8 +179,9 @@ func (u *UsbGadget) SetOnKeysDownChange(f func(state KeysDownState)) { } func (u *UsbGadget) scheduleAutoRelease(key byte) { + u.log.Trace().Msg("scheduling autoRelease") u.kbdAutoReleaseLock.Lock() - defer u.kbdAutoReleaseLock.Unlock() + defer unlockWithLog(&u.kbdAutoReleaseLock, u.log, "autoRelease scheduled") if u.kbdAutoReleaseTimer != nil { u.kbdAutoReleaseTimer.Stop() @@ -192,8 +193,9 @@ func (u *UsbGadget) scheduleAutoRelease(key byte) { } func (u *UsbGadget) cancelAutoRelease() { + u.log.Trace().Msg("cancelling autoRelease") u.kbdAutoReleaseLock.Lock() - defer u.kbdAutoReleaseLock.Unlock() + defer unlockWithLog(&u.kbdAutoReleaseLock, u.log, "autoRelease cancelled") if u.kbdAutoReleaseTimer != nil { u.kbdAutoReleaseTimer.Stop() @@ -201,10 +203,9 @@ func (u *UsbGadget) cancelAutoRelease() { } func (u *UsbGadget) DelayAutoRelease() { + u.log.Trace().Msg("delaying autoRelease") u.kbdAutoReleaseLock.Lock() - defer u.kbdAutoReleaseLock.Unlock() - - u.log.Trace().Msg("delaying auto-release") + defer unlockWithLog(&u.kbdAutoReleaseLock, u.log, "autoRelease delayed") if u.kbdAutoReleaseTimer == nil { return @@ -216,8 +217,9 @@ func (u *UsbGadget) DelayAutoRelease() { } func (u *UsbGadget) performAutoRelease(key byte) { + u.log.Trace().Msg("performing autoRelease") u.kbdAutoReleaseLock.Lock() - defer u.kbdAutoReleaseLock.Unlock() + defer unlockWithLog(&u.kbdAutoReleaseLock, u.log, "autoRelease performed") select { case <-u.keyboardStateCtx.Done(): @@ -464,9 +466,10 @@ func (u *UsbGadget) keypressReport(key byte, press bool, autoRelease bool) (Keys if press { { + u.log.Trace().Msg("acquiring kbdAutoReleaseLock to update last key") u.kbdAutoReleaseLock.Lock() u.kbdAutoReleaseLastKey = key - u.kbdAutoReleaseLock.Unlock() + unlockWithLog(&u.kbdAutoReleaseLock, u.log, "last key updated") } if autoRelease { diff --git a/internal/usbgadget/utils.go b/internal/usbgadget/utils.go index d51f9e40..56f9c308 100644 --- a/internal/usbgadget/utils.go +++ b/internal/usbgadget/utils.go @@ -9,6 +9,7 @@ import ( "path/filepath" "strconv" "strings" + "sync" "time" "github.com/rs/zerolog" @@ -164,3 +165,8 @@ func (u *UsbGadget) resetLogSuppressionCounter(counterName string) { u.logSuppressionCounter[counterName] = 0 } } + +func unlockWithLog(lock *sync.Mutex, logger *zerolog.Logger, msg string, args ...any) { + logger.Trace().Msgf(msg, args...) + lock.Unlock() +}