From: Jochen Sprickerhof <git@jochen.sprickerhof.de>
Date: Wed, 21 Aug 2024 08:48:41 +0200
X-Dgit-Generated: 0.21-1 ac486f063de56932f8b60176b4045c9a4c4725a7
Subject: Use select instead of busy loop


---

diff --git a/hifiberrydsp/alsa/alsasync.py b/hifiberrydsp/alsa/alsasync.py
index 34550fe..0c3d879 100644
--- a/hifiberrydsp/alsa/alsasync.py
+++ b/hifiberrydsp/alsa/alsasync.py
@@ -21,6 +21,7 @@ SOFTWARE.
 '''
 import time
 import logging
+import select
 import tempfile
 import os
 
@@ -242,8 +243,12 @@ class AlsaSync(Thread):
                 else:
                     reg_set = True
 
+                poller = select.poll()
+                poller.register(*(self.mixer.polldescriptors()[0]))
+                poller.poll(self.pollinterval)
+                self.mixer.handleevents()
+
                 self.check_sync()
-                time.sleep(self.pollinterval)
         except Exception as e:
             logging.error("ALSA sync crashed: %s", e)
 
