aboutsummaryrefslogtreecommitdiffstats
path: root/searchcorespi/src/vespa/searchcorespi/index/ithreadingservice.h
diff options
context:
space:
mode:
Diffstat (limited to 'searchcorespi/src/vespa/searchcorespi/index/ithreadingservice.h')
-rw-r--r--searchcorespi/src/vespa/searchcorespi/index/ithreadingservice.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/searchcorespi/src/vespa/searchcorespi/index/ithreadingservice.h b/searchcorespi/src/vespa/searchcorespi/index/ithreadingservice.h
index f30aec94d53..0660f3ab495 100644
--- a/searchcorespi/src/vespa/searchcorespi/index/ithreadingservice.h
+++ b/searchcorespi/src/vespa/searchcorespi/index/ithreadingservice.h
@@ -65,6 +65,12 @@ struct IThreadingService
virtual void sync_all_executors() = 0;
+ /**
+ * Block the calling thread until the master thread has capacity to handle more tasks,
+ * and then execute the given task in the master thread.
+ */
+ virtual void blocking_master_execute(vespalib::Executor::Task::UP task) = 0;
+
virtual IThreadService &master() = 0;
virtual IThreadService &index() = 0;
virtual IThreadService &summary() = 0;