diff --git a/src/system/audio.py b/src/system/audio.py index 128d2bb..5ed7358 100644 --- a/src/system/audio.py +++ b/src/system/audio.py @@ -913,8 +913,12 @@ class JackAudioClient: """Deactivate and close the JACK client.""" if not self._active or self._client is None: return + # Skip deactivate() if JACK server is already dead — it hangs + # on a broken server socket (Broken pipe). try: - self._client.deactivate() + import subprocess + if subprocess.run(["pidof", "jackd"], capture_output=True).returncode == 0: + self._client.deactivate() except Exception as exc: logger.warning("JACK deactivate error: %s", exc) try: