Use thread_local for thread local scheduler (#2863)

This commit is contained in:
Bart Louwers
2024-09-23 20:23:11 +02:00
committed by GitHub
parent 84ca231da5
commit c19bb7ac4a

View File

@@ -14,18 +14,16 @@ std::function<void()> Scheduler::bindOnce(std::function<void()> fn) {
}
namespace {
auto& current() {
static util::ThreadLocal<Scheduler> 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