summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/framework/scheduling/LockManager.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/framework/scheduling/LockManager.h b/include/framework/scheduling/LockManager.h
index 275c5ae..a40cf7a 100644
--- a/include/framework/scheduling/LockManager.h
+++ b/include/framework/scheduling/LockManager.h
@@ -27,12 +27,13 @@ public:
void release_lock(size_t idx, size_t version) {
if (idx < m_lks.size()) {
assert(m_lks.at(idx).load() == true);
- m_lks.at(idx).store(false);
while (m_last_unlocked_version.load() < version) {
auto tmp = m_last_unlocked_version.load();
m_last_unlocked_version.compare_exchange_strong(tmp, version);
}
+
+ m_lks.at(idx).store(false);
}
}