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
#include <folly/Portability.h>
#include <folly/ScopeGuard.h>
#include <folly/SharedMutex.h>
#include <folly/Portability.h>
#include <folly/ScopeGuard.h>
#include <folly/SharedMutex.h>
+#include <folly/detail/ThreadLocalDetail.h>
#include <type_traits>
#include <utility>
#include <type_traits>
#include <utility>
-namespace folly {
-enum class TLPDestructionMode {
- THIS_THREAD,
- ALL_THREADS
-};
-struct AccessModeStrict {};
-} // namespace
-
-#include <folly/detail/ThreadLocalDetail.h>
-
namespace folly {
template <class T, class Tag, class AccessMode>
namespace folly {
template <class T, class Tag, class AccessMode>
* See the License for the specific language governing permissions and
* limitations under the License.
*/
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-#include <folly/ThreadLocal.h>
+#include <folly/detail/ThreadLocalDetail.h>
#include <list>
#include <mutex>
#include <list>
#include <mutex>
#include <folly/MicroSpinLock.h>
#include <folly/Portability.h>
#include <folly/ScopeGuard.h>
#include <folly/MicroSpinLock.h>
#include <folly/Portability.h>
#include <folly/ScopeGuard.h>
+#include <folly/SharedMutex.h>
#include <folly/portability/PThread.h>
#include <folly/detail/StaticSingletonManager.h>
#include <folly/portability/PThread.h>
#include <folly/detail/StaticSingletonManager.h>
+
+enum class TLPDestructionMode { THIS_THREAD, ALL_THREADS };
+struct AccessModeStrict {};
+
namespace threadlocal_detail {
/**
namespace threadlocal_detail {
/**