summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorDouglas Rumbaugh <dbr4@psu.edu>2024-01-31 16:00:12 -0500
committerDouglas Rumbaugh <dbr4@psu.edu>2024-01-31 16:00:12 -0500
commite4a7d2d5c7464fe97ab7e37c2b0b73c32b5e8b17 (patch)
treeaa6f394410dc9ba5110b830f3a5ca6ccb6c2814e /include
parent27d36dd9a68e4cf454be2ca7877ece0a34c3e929 (diff)
downloaddynamic-extension-e4a7d2d5c7464fe97ab7e37c2b0b73c32b5e8b17.tar.gz
Possibly fixed epoch retirement sync error
Diffstat (limited to 'include')
-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());