diff options
Diffstat (limited to 'include/framework')
| -rw-r--r-- | include/framework/DynamicExtension.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/include/framework/DynamicExtension.h b/include/framework/DynamicExtension.h index 3203945..a10831e 100644 --- a/include/framework/DynamicExtension.h +++ b/include/framework/DynamicExtension.h @@ -328,14 +328,15 @@ private: */ enforce_delete_invariant(new_epoch); - // FIXME: this may currently fail because there isn't any + // FIXME: this may currently block because there isn't any // query preemption yet. At this point, we'd need to either // 1) wait for all queries on the old_head to finish // 2) kill all queries on the old_head // 3) somehow migrate all queries on the old_head to the new // version - auto res = new_epoch->advance_buffer_head(buffer_head); - assert(res); + while (!new_epoch->advance_buffer_head(buffer_head)) { + _mm_pause(); + } m_current_epoch.fetch_add(1); old_epoch->set_inactive(); |