From c19bb7ac4aba2804051cce13ce647bb83b7cb9f2 Mon Sep 17 00:00:00 2001 From: Bart Louwers Date: Mon, 23 Sep 2024 20:23:11 +0200 Subject: [PATCH] Use `thread_local` for thread local scheduler (#2863) --- src/mbgl/actor/scheduler.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/mbgl/actor/scheduler.cpp b/src/mbgl/actor/scheduler.cpp index f2f70bd79..515a77784 100644 --- a/src/mbgl/actor/scheduler.cpp +++ b/src/mbgl/actor/scheduler.cpp @@ -14,18 +14,16 @@ std::function Scheduler::bindOnce(std::function fn) { } namespace { -auto& current() { - static util::ThreadLocal scheduler; - return scheduler; -} + +thread_local Scheduler* localScheduler; } // namespace void Scheduler::SetCurrent(Scheduler* scheduler) { - current().set(scheduler); + localScheduler = scheduler; } Scheduler* Scheduler::GetCurrent() { - return current().get(); + return localScheduler; } // static