#include <folly/ScopeGuard.h>
#include <folly/SharedMutex.h>
#include <folly/container/Foreach.h>
+#include <folly/detail/AtFork.h>
#include <folly/memory/Malloc.h>
#include <folly/portability/PThread.h>
ElementWrapper& getElement(EntryID* ent);
- static void initAtFork();
- static void registerAtFork(
- folly::Function<void()> prepare,
- folly::Function<void()> parent,
- folly::Function<void()> child);
-
uint32_t nextId_;
std::vector<uint32_t> freeIds_;
std::mutex lock_;
: StaticMetaBase(
&StaticMeta::getThreadEntrySlow,
std::is_same<AccessMode, AccessModeStrict>::value) {
- registerAtFork(
+ detail::AtFork::registerHandler(
/*prepare*/ &StaticMeta::preFork,
/*parent*/ &StaticMeta::onForkParent,
/*child*/ &StaticMeta::onForkChild);