You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Gate monitored-process restarts on ALSA output device readiness
When the monitored player exits because its loopback is still held (a
not-yet-released previous instance, or the dmix state from #957), every
respawn dies instantly with EINVAL and the stream stays silent - we saw
a 5.5h outage from one stream re-assign. If the monitored command plays
to an ALSA loopback (-o lb*), probe the device with a 1s silent aplay
(the same open path the player uses) before each spawn and wait quietly
until it opens. On the first failed probe, log the current /dev/snd
holders via fuser so the journal explains the wedge; after four failed
probes, kill a stale leftover player process that targets the same
device (strict match on the binary name and exact -o argument, never
the monitor's own child). Processes without an -o lb* argument are
completely unaffected.
Signed-off-by: Stamate Viorel <stamate.viorel@gmail.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
0 commit comments