From f67344b4c6c7df01dd1e9f3023fa20416103cb6a Mon Sep 17 00:00:00 2001 From: David Robillard Date: Fri, 21 Dec 2012 05:35:26 +0000 Subject: 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 --- src/server/Broadcaster.cpp | 6 ++++++ src/server/Broadcaster.hpp | 1 + 2 files changed, 7 insertions(+) (limited to 'src/server') 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 client); bool unregister_client(const Raul::URI& uri); -- cgit v1.2.1