summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIvo van Dongen <info@ivovandongen.nl>2017-07-25 15:46:16 +0300
committerIvo van Dongen <ivovandongen@users.noreply.github.com>2017-08-09 12:08:21 +0300
commitedaa002c3c23e84db8ca07c521118da37ba5bb38 (patch)
treecfde2f22898febaa06618cd3fb7aac0a8a675bc1 /src
parentd88567ee0997b0430db3ac7cf6deb20a0615098e (diff)
downloadqtlocation-mapboxgl-edaa002c3c23e84db8ca07c521118da37ba5bb38.tar.gz
[core] current scheduler
- Adds a way to set the current scheduler on the thread to be used whenever a mailbox is created that needs to reply on this thread
Diffstat (limited to 'src')
-rw-r--r--src/mbgl/actor/scheduler.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/mbgl/actor/scheduler.cpp b/src/mbgl/actor/scheduler.cpp
new file mode 100644
index 0000000000..d7cdb2737b
--- /dev/null
+++ b/src/mbgl/actor/scheduler.cpp
@@ -0,0 +1,19 @@
+#include <mbgl/actor/scheduler.hpp>
+#include <mbgl/util/thread_local.hpp>
+
+namespace mbgl {
+
+static auto& current() {
+ static util::ThreadLocal<Scheduler> scheduler;
+ return scheduler;
+};
+
+void Scheduler::SetCurrent(Scheduler* scheduler) {
+ current().set(scheduler);
+}
+
+Scheduler* Scheduler::GetCurrent() {
+ return current().get();
+}
+
+} //namespace mbgl