From: Hans Fugal Date: Fri, 12 Jun 2015 20:11:35 +0000 (-0700) Subject: apple-gate ThreadLocal in fibers code X-Git-Tag: v0.47.0~25 X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=2bf6f465d9d9b418c09f02a06842a34a67123907;p=folly.git apple-gate ThreadLocal in fibers code Summary: Some internal malloc shims broke on using folly::ThreadLocal, so only do that for `__APPLE__`. Reviewed By: @brianwatling Differential Revision: D2151318 --- diff --git a/folly/experimental/fibers/FiberManager-inl.h b/folly/experimental/fibers/FiberManager-inl.h index 42d14ac0..e0c7e578 100644 --- a/folly/experimental/fibers/FiberManager-inl.h +++ b/folly/experimental/fibers/FiberManager-inl.h @@ -22,7 +22,9 @@ #include #include #include +#ifdef __APPLE__ #include +#endif #include #include #include @@ -455,8 +457,13 @@ T& FiberManager::local() { template T& FiberManager::localThread() { +#ifndef __APPLE__ + static thread_local T t; + return t; +#else // osx doesn't support thread_local static ThreadLocal t; return *t; +#endif } inline void FiberManager::initLocalData(Fiber& fiber) {