summaryrefslogtreecommitdiffstats
path: root/include/framework/DynamicExtension.h
diff options
context:
space:
mode:
authorDouglas B. Rumbaugh <doug@douglasrumbaugh.com>2023-10-31 11:53:08 -0400
committerDouglas B. Rumbaugh <doug@douglasrumbaugh.com>2023-10-31 11:53:08 -0400
commit7163b8db0ee5acc099a228090a4bdee379c1c8af (patch)
tree3697c22f3decee5aa9449ddc9c6f1562f858724b /include/framework/DynamicExtension.h
parent1b8bec5ea882584aba62c92d1ab6ffaf03e7b9b5 (diff)
downloaddynamic-extension-7163b8db0ee5acc099a228090a4bdee379c1c8af.tar.gz
SerialScheduler: added a single-threaded scheduler
Added a new scheduler for ensuring single-threaded operation. Additionally, added a static assert to (at least for now) restrict the use of tagging to this single threaded scheduler.
Diffstat (limited to 'include/framework/DynamicExtension.h')
-rw-r--r--include/framework/DynamicExtension.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/framework/DynamicExtension.h b/include/framework/DynamicExtension.h
index a1f7c2b..3a4a7e1 100644
--- a/include/framework/DynamicExtension.h
+++ b/include/framework/DynamicExtension.h
@@ -26,6 +26,7 @@
#include "framework/util/Configuration.h"
#include "framework/scheduling/FIFOScheduler.h"
+#include "framework/scheduling/SerialScheduler.h"
#include "framework/scheduling/Epoch.h"
#include "psu-util/timer.h"
@@ -82,6 +83,7 @@ public:
// FIXME: delete tagging will require a lot of extra work to get
// operating "correctly" in a concurrent environment.
if constexpr (D == DeletePolicy::TAGGING) {
+ static_assert(std::same_as<SCHED, SerialScheduler>, "Tagging is only supported in single-threaded operation");
BufView buffers = get_active_epoch()->get_buffer_view();
if (get_active_epoch()->get_structure()->tagged_delete(rec)) {