From 4ce658ab99992c3988422f04a1c7c56f0ea84e0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beat=20K=C3=BCng?= Date: Fri, 6 May 2016 09:31:15 +0200 Subject: [PATCH] logger: move _writer.lock() call after write_changed_parameters() write_changed_parameters() also takes the lock and thus would deadlock otherwise. --- src/modules/logger/logger.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/modules/logger/logger.cpp b/src/modules/logger/logger.cpp index f2da479d4b..7e4366b876 100644 --- a/src/modules/logger/logger.cpp +++ b/src/modules/logger/logger.cpp @@ -476,8 +476,6 @@ void Logger::run() } if (_enabled) { - /* wait for lock on log buffer */ - _writer.lock(); bool data_written = false; @@ -492,6 +490,9 @@ void Logger::run() // Write data messages for normal subscriptions int msg_id = 0; + /* wait for lock on log buffer */ + _writer.lock(); + for (LoggerSubscription &sub : _subscriptions) { /* each message consists of a header followed by an orb data object */