From d8e8d2d16b469a26e51d08935b4ef3a60b0317a9 Mon Sep 17 00:00:00 2001 From: Thomas Adamcik Date: Thu, 3 Sep 2015 22:50:40 +0200 Subject: [PATCH] listener: Kill off mopidy.listener.send_async This is no longer needed as the plain send method makes sure to use tell to queue actor message. Which has better performance, and avoids deadlocks. A side effect of this is that assuming you have a core actor running and a dummy audio in use audio events just work. --- mopidy/audio/listener.py | 2 +- mopidy/backend.py | 2 +- mopidy/core/listener.py | 2 +- mopidy/listener.py | 10 ---------- mopidy/mixer.py | 2 +- 5 files changed, 4 insertions(+), 14 deletions(-) diff --git a/mopidy/audio/listener.py b/mopidy/audio/listener.py index e4e3f427..08bda98d 100644 --- a/mopidy/audio/listener.py +++ b/mopidy/audio/listener.py @@ -18,7 +18,7 @@ class AudioListener(listener.Listener): @staticmethod def send(event, **kwargs): """Helper to allow calling of audio listener events""" - listener.send_async(AudioListener, event, **kwargs) + listener.send(AudioListener, event, **kwargs) def reached_end_of_stream(self): """ diff --git a/mopidy/backend.py b/mopidy/backend.py index 8d7a831e..8616ae96 100644 --- a/mopidy/backend.py +++ b/mopidy/backend.py @@ -426,7 +426,7 @@ class BackendListener(listener.Listener): @staticmethod def send(event, **kwargs): """Helper to allow calling of backend listener events""" - listener.send_async(BackendListener, event, **kwargs) + listener.send(BackendListener, event, **kwargs) def playlists_loaded(self): """ diff --git a/mopidy/core/listener.py b/mopidy/core/listener.py index d95bd491..530a98a0 100644 --- a/mopidy/core/listener.py +++ b/mopidy/core/listener.py @@ -18,7 +18,7 @@ class CoreListener(listener.Listener): @staticmethod def send(event, **kwargs): """Helper to allow calling of core listener events""" - listener.send_async(CoreListener, event, **kwargs) + listener.send(CoreListener, event, **kwargs) def on_event(self, event, **kwargs): """ diff --git a/mopidy/listener.py b/mopidy/listener.py index 35bd8b73..9bcab0e0 100644 --- a/mopidy/listener.py +++ b/mopidy/listener.py @@ -7,16 +7,6 @@ import pykka logger = logging.getLogger(__name__) -def send_async(cls, event, **kwargs): - # This file is imported by mopidy.backends, which again is imported by all - # backend extensions. By importing modules that are not easily installable - # close to their use, we make some extensions able to run their tests in a - # virtualenv with global site-packages disabled. - import gobject - - gobject.idle_add(lambda: send(cls, event, **kwargs)) - - def send(cls, event, **kwargs): listeners = pykka.ActorRegistry.get_by_class(cls) logger.debug('Sending %s to %s: %s', event, cls.__name__, kwargs) diff --git a/mopidy/mixer.py b/mopidy/mixer.py index eb43d810..55531817 100644 --- a/mopidy/mixer.py +++ b/mopidy/mixer.py @@ -130,7 +130,7 @@ class MixerListener(listener.Listener): @staticmethod def send(event, **kwargs): """Helper to allow calling of mixer listener events""" - listener.send_async(MixerListener, event, **kwargs) + listener.send(MixerListener, event, **kwargs) def volume_changed(self, volume): """