Commit c5184205 authored by Christopher Dykes's avatar Christopher Dykes Committed by Facebook Github Bot

Resolve the circular dependency between ThreadLocalDetail and ThreadLocal

Summary: There was a circular dependency between the `detail/ThreadLocalDetail.(cpp|h)` files and `ThreadLocal.(cpp|h)`, this resolves that circular dependency by moving a couple of declarations into the detail file.

Reviewed By: yfeldblum

Differential Revision: D5318875

fbshipit-source-id: 61de7c4b3ffa30f9eb11bd97e0493e9de12c5804
parent 5de2b282
...@@ -45,19 +45,10 @@ ...@@ -45,19 +45,10 @@
#include <folly/Portability.h> #include <folly/Portability.h>
#include <folly/ScopeGuard.h> #include <folly/ScopeGuard.h>
#include <folly/SharedMutex.h> #include <folly/SharedMutex.h>
#include <folly/detail/ThreadLocalDetail.h>
#include <type_traits> #include <type_traits>
#include <utility> #include <utility>
namespace folly {
enum class TLPDestructionMode {
THIS_THREAD,
ALL_THREADS
};
struct AccessModeStrict {};
} // namespace
#include <folly/detail/ThreadLocalDetail.h>
namespace folly { namespace folly {
template <class T, class Tag, class AccessMode> template <class T, class Tag, class AccessMode>
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
#include <folly/ThreadLocal.h> #include <folly/detail/ThreadLocalDetail.h>
#include <list> #include <list>
#include <mutex> #include <mutex>
......
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
#include <folly/MicroSpinLock.h> #include <folly/MicroSpinLock.h>
#include <folly/Portability.h> #include <folly/Portability.h>
#include <folly/ScopeGuard.h> #include <folly/ScopeGuard.h>
#include <folly/SharedMutex.h>
#include <folly/portability/PThread.h> #include <folly/portability/PThread.h>
#include <folly/detail/StaticSingletonManager.h> #include <folly/detail/StaticSingletonManager.h>
...@@ -50,6 +51,10 @@ ...@@ -50,6 +51,10 @@
#endif #endif
namespace folly { namespace folly {
enum class TLPDestructionMode { THIS_THREAD, ALL_THREADS };
struct AccessModeStrict {};
namespace threadlocal_detail { namespace threadlocal_detail {
/** /**
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment