From 31b7e18d7dac5c8a8ab45822ac9ec2451ffb3693 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sun, 6 Feb 2022 00:45:49 +0100 Subject: [PATCH] Fix edge-case race initialize_latencies() vs process() Due to _init_countdown when the engine starts, it is extremely unlikely that Session::initialize_latencies(), which is invoked by AudioEngine::Running runs concurrently with Session::process, but at least in theory it would be possible. --- libs/ardour/session.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index 3603b7c8c0..b3a8c146d6 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -6641,8 +6641,10 @@ Session::missing_filesources (DataType dt) const void Session::initialize_latencies () { + block_processing (); update_latency (false); update_latency (true); + unblock_processing (); } void