[beast: 2/6] BSE: _engine_pop_unprocessed_node: avoid race condition for node lock
- From: Tim Janik <timj src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [beast: 2/6] BSE: _engine_pop_unprocessed_node: avoid race condition for node lock
- Date: Sun, 6 Nov 2016 22:32:37 +0000 (UTC)
commit e910d80e79b9677dffaa4864c3d2c67379d2622d
Author: Tim Janik <timj gnu org>
Date: Sun Nov 6 17:47:03 2016 +0100
BSE: _engine_pop_unprocessed_node: avoid race condition for node lock
Signed-off-by: Tim Janik <timj gnu org>
bse/bseengineutils.cc | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
---
diff --git a/bse/bseengineutils.cc b/bse/bseengineutils.cc
index f4d6c02..ec70f1f 100644
--- a/bse/bseengineutils.cc
+++ b/bse/bseengineutils.cc
@@ -475,10 +475,11 @@ _engine_pop_unprocessed_node (void)
pqueue_mutex.lock();
node = pqueue_schedule ? _engine_schedule_pop_node (pqueue_schedule) : NULL;
if (node)
- pqueue_n_nodes += 1;
+ {
+ pqueue_n_nodes += 1;
+ ENGINE_NODE_LOCK (node);
+ }
pqueue_mutex.unlock();
- if (node)
- ENGINE_NODE_LOCK (node);
return node;
}
static inline void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]