summaryrefslogtreecommitdiffstats
path: root/include/framework
diff options
context:
space:
mode:
Diffstat (limited to 'include/framework')
-rw-r--r--include/framework/DynamicExtension.h6
1 files changed, 5 insertions, 1 deletions
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());