kvm/internal
Alex P a6b7ac50ef Eliminate hang completely by making ALSA interruption immediate
Problem:
Previous fix reduced but didn't eliminate the hang when switching audio
sources. The C layer was still blocking on snd_pcm_readi()/snd_pcm_writei()
while holding the mutex, preventing cleanup from proceeding.

Solution:
Call snd_pcm_drop() BEFORE acquiring the mutex in close functions. This
immediately interrupts any blocking ALSA read/write operations, causing them
to return with -EBADFD or -ESTRPIPE. The sequence is now:

1. Set stop_requested flag
2. Call snd_pcm_drop() to interrupt blocking I/O (no mutex needed - thread-safe)
3. Acquire mutex for cleanup
4. Close handles and free resources
5. Release mutex

This makes audio source switching instantaneous with zero hang.

Changes:
- jetkvm_audio_capture_close(): Drop PCM before mutex
- jetkvm_audio_playback_close(): Drop PCM before mutex

Tested: USB↔HDMI switching now happens instantly with no delay.
2025-11-18 01:46:29 +02:00
..
audio Eliminate hang completely by making ALSA interruption immediate 2025-11-18 01:46:29 +02:00
confparser feat: refactoring network stack (#878) 2025-10-15 18:32:58 +02:00
hidrpc feat: release keyPress automatically (#796) 2025-09-18 13:35:47 +02:00
logging feat: jetkvm native in cGo 2025-09-29 14:09:30 +02:00
mdns feat: refactoring network stack (#878) 2025-10-15 18:32:58 +02:00
native Fix: improve EDID compatibility and add audio configuration options 2025-11-18 00:53:15 +02:00
network/types feat: refactoring network stack (#878) 2025-10-15 18:32:58 +02:00
sync feat: refactoring network stack (#878) 2025-10-15 18:32:58 +02:00
timesync feat: refactoring network stack (#878) 2025-10-15 18:32:58 +02:00
tzdata feat: improve custom jiggler settings and add timezone support (#742) 2025-08-24 22:54:26 +00:00
usbgadget Fix: skip redundant USB gadget reconfigurations to prevent HID disruption 2025-11-17 22:48:02 +02:00
utils fix: ensure that security-key backed SSH keys are supported (#807) 2025-09-17 12:14:45 +02:00
websecure feat(websecure): add support for ed25519 certificates (#513) 2025-05-25 11:09:58 +02:00