summaryrefslogtreecommitdiff
path: root/src/lib/change_signaller.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/change_signaller.h')
-rw-r--r--src/lib/change_signaller.h8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/lib/change_signaller.h b/src/lib/change_signaller.h
index 1d7d482df..0b2c1539d 100644
--- a/src/lib/change_signaller.h
+++ b/src/lib/change_signaller.h
@@ -87,21 +87,19 @@ public:
{
boost::mutex::scoped_lock lm(_mutex);
auto pending = _pending;
+ _pending.clear();
+ _suspended = false;
lm.unlock();
for (auto signal: pending) {
signal.thing->signal_change(signal.type, signal.property);
}
-
- lm.lock();
- _pending.clear();
- _suspended = false;
}
static ChangeSignalDespatcher* instance()
{
static boost::mutex _instance_mutex;
- static boost::mutex::scoped_lock lm(_instance_mutex);
+ boost::mutex::scoped_lock lm(_instance_mutex);
static ChangeSignalDespatcher<T, P>* _instance;
if (!_instance) {
_instance = new ChangeSignalDespatcher<T, P>();