diff options
author | David Robillard <d@drobilla.net> | 2012-12-21 05:35:26 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2012-12-21 05:35:26 +0000 |
commit | f67344b4c6c7df01dd1e9f3023fa20416103cb6a (patch) | |
tree | 4cf79ffe63064255f0951ac35ca2c2b7f4dd7cba /src/server | |
parent | 89703f69e36514584ec5c399f4bdc8fb2cbc4036 (diff) | |
download | ingen-f67344b4c6c7df01dd1e9f3023fa20416103cb6a.tar.gz ingen-f67344b4c6c7df01dd1e9f3023fa20416103cb6a.tar.bz2 ingen-f67344b4c6c7df01dd1e9f3023fa20416103cb6a.zip |
Fix UI operation via socket.
Fix crashes and deadlocks on shutdown.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4872 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/server')
-rw-r--r-- | src/server/Broadcaster.cpp | 6 | ||||
-rw-r--r-- | src/server/Broadcaster.hpp | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/server/Broadcaster.cpp b/src/server/Broadcaster.cpp index ab6b16fb..6c111a1c 100644 --- a/src/server/Broadcaster.cpp +++ b/src/server/Broadcaster.cpp @@ -26,6 +26,12 @@ namespace Ingen { namespace Server { +Broadcaster::~Broadcaster() +{ + Glib::Mutex::Lock lock(_clients_mutex); + _clients.clear(); +} + /** Register a client to receive messages over the notification band. */ void diff --git a/src/server/Broadcaster.hpp b/src/server/Broadcaster.hpp index 621b6b61..34bfa728 100644 --- a/src/server/Broadcaster.hpp +++ b/src/server/Broadcaster.hpp @@ -43,6 +43,7 @@ class Broadcaster : public Interface { public: Broadcaster() : _bundle_depth(0) {} + ~Broadcaster(); void register_client(const Raul::URI& uri, SharedPtr<Interface> client); bool unregister_client(const Raul::URI& uri); |