Fix Windows Engine Bot (flutter/engine#6844)
Follow-up to https://github.com/flutter/engine/pull/6833
This commit is contained in:
committed by
GitHub
parent
a8f108d528
commit
e9bfd56271
@@ -6,6 +6,8 @@
|
||||
|
||||
namespace fml {
|
||||
|
||||
#if FML_THREAD_LOCAL_PTHREADS
|
||||
|
||||
ThreadLocal::ThreadLocal() : ThreadLocal(nullptr) {}
|
||||
|
||||
ThreadLocal::ThreadLocal(ThreadLocalDestroyCallback destroy)
|
||||
@@ -33,4 +35,35 @@ ThreadLocal::Box::Box(ThreadLocalDestroyCallback destroy, intptr_t value)
|
||||
|
||||
ThreadLocal::Box::~Box() = default;
|
||||
|
||||
#else // FML_THREAD_LOCAL_PTHREADS
|
||||
|
||||
ThreadLocal::ThreadLocal() : ThreadLocal(nullptr) {}
|
||||
|
||||
ThreadLocal::ThreadLocal(ThreadLocalDestroyCallback destroy)
|
||||
: destroy_(destroy), value_(0) {}
|
||||
|
||||
void ThreadLocal::Set(intptr_t value) {
|
||||
if (value_ == value) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (value_ != 0 && destroy_) {
|
||||
destroy_(value_);
|
||||
}
|
||||
|
||||
value_ = value;
|
||||
}
|
||||
|
||||
intptr_t ThreadLocal::Get() {
|
||||
return value_;
|
||||
}
|
||||
|
||||
ThreadLocal::~ThreadLocal() {
|
||||
if (value_ != 0 && destroy_) {
|
||||
destroy_(value_);
|
||||
}
|
||||
}
|
||||
|
||||
#endif // FML_THREAD_LOCAL_PTHREADS
|
||||
|
||||
} // namespace fml
|
||||
|
||||
@@ -101,30 +101,15 @@ class ThreadLocal {
|
||||
|
||||
class ThreadLocal {
|
||||
public:
|
||||
ThreadLocal() : ThreadLocal(nullptr) {}
|
||||
ThreadLocal();
|
||||
|
||||
ThreadLocal(ThreadLocalDestroyCallback destroy)
|
||||
: destroy_(destroy), value_(0) {}
|
||||
ThreadLocal(ThreadLocalDestroyCallback destroy);
|
||||
|
||||
void Set(intptr_t value) {
|
||||
if (value_ == value) {
|
||||
return;
|
||||
}
|
||||
void Set(intptr_t value);
|
||||
|
||||
if (value_ != 0 && destroy_) {
|
||||
destroy_(value_);
|
||||
}
|
||||
intptr_t Get();
|
||||
|
||||
value_ = value;
|
||||
}
|
||||
|
||||
intptr_t Get() { return value_; }
|
||||
|
||||
~ThreadLocal() {
|
||||
if (value_ != 0 && destroy_) {
|
||||
destroy_(value_);
|
||||
}
|
||||
}
|
||||
~ThreadLocal();
|
||||
|
||||
private:
|
||||
ThreadLocalDestroyCallback destroy_;
|
||||
|
||||
Reference in New Issue
Block a user