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 @@
#include <folly/Portability.h>
#include <folly/ScopeGuard.h>
#include <folly/SharedMutex.h>
#include <folly/detail/ThreadLocalDetail.h>
#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>
......
......@@ -13,7 +13,7 @@
* 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>
......
......@@ -33,6 +33,7 @@
#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>
......@@ -50,6 +51,10 @@
#endif
namespace folly {
enum class TLPDestructionMode { THIS_THREAD, ALL_THREADS };
struct AccessModeStrict {};
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