Commit 99ef4c99 authored by Dan Melnic's avatar Dan Melnic Committed by Facebook Github Bot

Make rcu_default_domain_ folly::Indestructible<rcu_domain<RcuTag>> to avoid...

Make rcu_default_domain_ folly::Indestructible<rcu_domain<RcuTag>> to avoid asserts on _dl_open/_dl_init __static_initialization_and_destruction_0

Summary: Make rcu_default_domain_ folly::Indestructible<rcu_domain<RcuTag>> to avoid asserts on _dl_open/_dl_init __static_initialization_and_destruction_0

Reviewed By: yfeldblum

Differential Revision: D9845303

fbshipit-source-id: e858e86a6f7885bf6a3ad8d5e957ee947a5ce2b3
parent 89fe1eb4
......@@ -17,6 +17,7 @@
namespace folly {
FOLLY_STATIC_CTOR_PRIORITY_MAX rcu_domain<RcuTag> rcu_default_domain_;
FOLLY_STATIC_CTOR_PRIORITY_MAX folly::Indestructible<rcu_domain<RcuTag>>
rcu_default_domain_;
} // namespace folly
......@@ -19,6 +19,7 @@
#include <functional>
#include <limits>
#include <folly/Indestructible.h>
#include <folly/Optional.h>
#include <folly/detail/TurnSequencer.h>
#include <folly/executors/QueuedImmediateExecutor.h>
......@@ -379,10 +380,10 @@ class rcu_domain {
void half_sync(bool blocking, list_head& cbs);
};
extern rcu_domain<RcuTag> rcu_default_domain_;
extern folly::Indestructible<rcu_domain<RcuTag>> rcu_default_domain_;
inline rcu_domain<RcuTag>* rcu_default_domain() {
return &rcu_default_domain_;
return &(*rcu_default_domain_);
}
// Main reader guard class.
......
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