sapling/eden/fs/utils
David Vernet 2588b7a46d folly: Change rcu_default_domain to return a reference to an rcu_domain
Summary:
Section 5.3.5 in the new C++ Concurrency Technical Specification 2
(http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/n4895.pdf) specifies
the following function:

rcu_domain& rcu_default_domain() noexcept;

The folly RCU header file currently exposes a very similar rcu_default_domain()
function that returns a pointer to an rcu_domain rather than a reference. This
change updates the folly RCU implementation to instead return a reference, and
updates the few callers in fbcode that were invoking it to instead expect a
reference.

Note that in doing so, we also update rcu_barrier(), rcu_retire(), and
rcu_obj_base::retire() to adhere to the new standard.

Reviewed By: yfeldblum

Differential Revision: D34622786

fbshipit-source-id: 4460ce563f9e9ef4d65cdd517707297c23091c80
2022-03-10 11:16:04 -08:00
..
test folly: Change rcu_default_domain to return a reference to an rcu_domain 2022-03-10 11:16:04 -08:00
BucketedLog.h fs: fix license header 2022-01-04 15:00:07 -08:00
BufVec.h fs: fix license header 2022-01-04 15:00:07 -08:00
Bug.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
Bug.h fs: fix license header 2022-01-04 15:00:07 -08:00
CaseSensitivity.h fs: fix license header 2022-01-04 15:00:07 -08:00
ChronoParse.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
ChronoParse.h fs: fix license header 2022-01-04 15:00:07 -08:00
ChronoUnit.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
ChronoUnit.gperf fs: fix license header 2022-01-04 15:00:07 -08:00
ChronoUnit.h fs: fix license header 2022-01-04 15:00:07 -08:00
Clock.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
Clock.h fs: fix license header 2022-01-04 15:00:07 -08:00
CMakeLists.txt fs: fix license header 2022-01-04 15:00:07 -08:00
CoverageSet.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
CoverageSet.h fs: fix license header 2022-01-04 15:00:07 -08:00
DirType.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
DirType.h fs: fix license header 2022-01-04 15:00:07 -08:00
EdenError.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
EdenError.h fs: fix license header 2022-01-04 15:00:07 -08:00
EdenTaskQueue.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
EdenTaskQueue.h fs: fix license header 2022-01-04 15:00:07 -08:00
EnumValue.h fs: fix license header 2022-01-04 15:00:07 -08:00
FaultInjector.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
FaultInjector.h fs: fix license header 2022-01-04 15:00:07 -08:00
FileDescriptor.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
FileDescriptor.h fs: fix license header 2022-01-04 15:00:07 -08:00
FileHash.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
FileHash.h fs: fix license header 2022-01-04 15:00:07 -08:00
FileUtils.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
FileUtils.h fs: fix license header 2022-01-04 15:00:07 -08:00
FsChannelTypes.h fs: fix license header 2022-01-04 15:00:07 -08:00
Future.h fs: fix license header 2022-01-04 15:00:07 -08:00
FutureUnixSocket.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
FutureUnixSocket.h fs: fix license header 2022-01-04 15:00:07 -08:00
Guid.h fs: fix license header 2022-01-04 15:00:07 -08:00
Handle.h fs: fix license header 2022-01-04 15:00:07 -08:00
IDGen.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
IDGen.h fs: fix license header 2022-01-04 15:00:07 -08:00
ImmediateFuture-inl.h fs: fix license header 2022-01-04 15:00:07 -08:00
ImmediateFuture-pre.h fs: fix license header 2022-01-04 15:00:07 -08:00
ImmediateFuture.h fs: fix license header 2022-01-04 15:00:07 -08:00
IoFuture.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
IoFuture.h fs: fix license header 2022-01-04 15:00:07 -08:00
LazyInitialize.h fs: fix license header 2022-01-04 15:00:07 -08:00
LeaseCache.h fs: fix license header 2022-01-04 15:00:07 -08:00
MappedDiskVector.h fs: fix license header 2022-01-04 15:00:07 -08:00
Memory.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
Memory.h fs: fix license header 2022-01-04 15:00:07 -08:00
NfsSocket.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
NfsSocket.h fs: fix license header 2022-01-04 15:00:07 -08:00
NotImplemented.h fs: fix license header 2022-01-04 15:00:07 -08:00
PathFuncs.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
PathFuncs.h fs: fix license header 2022-01-04 15:00:07 -08:00
PathMap.h fs: fix license header 2022-01-04 15:00:07 -08:00
Pipe.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
Pipe.h fs: fix license header 2022-01-04 15:00:07 -08:00
ProcessAccessLog.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
ProcessAccessLog.h fs: fix license header 2022-01-04 15:00:07 -08:00
ProcessNameCache.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
ProcessNameCache.h fs: fix license header 2022-01-04 15:00:07 -08:00
ProcUtil.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
ProcUtil.h fs: fix license header 2022-01-04 15:00:07 -08:00
Rcu.h folly: Change rcu_default_domain to return a reference to an rcu_domain 2022-03-10 11:16:04 -08:00
SortedInsert.h fs: fix license header 2022-01-04 15:00:07 -08:00
SpawnedProcess.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
SpawnedProcess.h fs: fix license header 2022-01-04 15:00:07 -08:00
SSLContext.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
SSLContext.h fs: fix license header 2022-01-04 15:00:07 -08:00
StaticAssert.h fs: fix license header 2022-01-04 15:00:07 -08:00
StatTimes.h fs: fix license header 2022-01-04 15:00:07 -08:00
StringConv.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
StringConv.h fs: fix license header 2022-01-04 15:00:07 -08:00
Synchronized.h fs: fix license header 2022-01-04 15:00:07 -08:00
SystemError.h fs: fix license header 2022-01-04 15:00:07 -08:00
Thread.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
Thread.h fs: fix license header 2022-01-04 15:00:07 -08:00
TimeUtil.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
TimeUtil.h fs: fix license header 2022-01-04 15:00:07 -08:00
UnboundedQueueExecutor.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
UnboundedQueueExecutor.h fs: fix license header 2022-01-04 15:00:07 -08:00
UnixSocket.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
UnixSocket.h fs: fix license header 2022-01-04 15:00:07 -08:00
UserInfo.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
UserInfo.h fs: fix license header 2022-01-04 15:00:07 -08:00
Utf8.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
Utf8.h fs: fix license header 2022-01-04 15:00:07 -08:00
WinError.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
WinError.h fs: fix license header 2022-01-04 15:00:07 -08:00
WinStackTrace.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
WinStackTrace.h fs: fix license header 2022-01-04 15:00:07 -08:00
XAttr.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
XAttr.h fs: fix license header 2022-01-04 15:00:07 -08:00