Use thread_local for thread local scheduler (#2863)
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user