fix race conditions
authorMarcel van der Veldt <m.vanderveldt@outlook.com>
Mon, 22 Jan 2024 13:41:59 +0000 (14:41 +0100)
committerMarcel van der Veldt <m.vanderveldt@outlook.com>
Mon, 22 Jan 2024 13:41:59 +0000 (14:41 +0100)
music_assistant/server/controllers/config.py

index 465e4e54d66183106ca74ae23c9b7092953da4cf..a4a660309a8d60d9c339e37e324bc5fdf10c5289 100644 (file)
@@ -282,7 +282,7 @@ class ConfigController:
             await self.mass.music.cleanup_provider(instance_id)
         if existing["type"] == "player":
             # cleanup entries in player manager
-            for player in self.mass.players:
+            for player in list(self.mass.players):
                 if player.provider != instance_id:
                     continue
                 self.mass.players.remove(player.player_id, cleanup_config=True)
@@ -314,7 +314,7 @@ class ConfigController:
         available_providers = {x.domain for x in self.mass.providers}
         return [
             await self.get_player_config(player_id)
-            for player_id, raw_conf in self.get(CONF_PLAYERS).items()
+            for player_id, raw_conf in self.get(CONF_PLAYERS, {}).items()
             # filter out unavailable providers
             if raw_conf["provider"] in available_providers
             # optional provider filter