From e4a7d2d5c7464fe97ab7e37c2b0b73c32b5e8b17 Mon Sep 17 00:00:00 2001 From: Douglas Rumbaugh Date: Wed, 31 Jan 2024 16:00:12 -0500 Subject: Possibly fixed epoch retirement sync error --- include/framework/DynamicExtension.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/framework/DynamicExtension.h b/include/framework/DynamicExtension.h index a10831e..abe3839 100644 --- a/include/framework/DynamicExtension.h +++ b/include/framework/DynamicExtension.h @@ -384,11 +384,15 @@ private: do { if (epoch->retirable()) { + m_epoch_retire_lk.lock(); + if (!epoch->retirable()) { + m_epoch_retire_lk.unlock(); + continue; + } break; } } while (true); - m_epoch_retire_lk.lock(); /* remove epoch from the framework's map */ m_epochs.erase(epoch->get_epoch_number()); -- cgit v1.2.3