#include "base/task/common/checked_lock_impl.h"
#include <optional>
#include <ostream>
#include <unordered_map>
#include <vector>
#include "base/check_op.h"
#include "base/lazy_instance.h"
#include "base/memory/raw_ptr_exclusion.h"
#include "base/ranges/algorithm.h"
#include "base/synchronization/condition_variable.h"
#include "base/task/common/checked_lock.h"
#include "base/threading/platform_thread.h"
#include "base/threading/thread_local.h"
namespace base {
namespace internal {
namespace {
class SafeAcquisitionTracker { … };
LazyInstance<SafeAcquisitionTracker>::Leaky g_safe_acquisition_tracker = …;
}
CheckedLockImpl::CheckedLockImpl() : … { … }
CheckedLockImpl::CheckedLockImpl(const CheckedLockImpl* predecessor) { … }
CheckedLockImpl::CheckedLockImpl(UniversalPredecessor)
: … { … }
CheckedLockImpl::CheckedLockImpl(UniversalSuccessor)
: … { … }
CheckedLockImpl::~CheckedLockImpl() { … }
void CheckedLockImpl::AssertNoLockHeldOnCurrentThread() { … }
void CheckedLockImpl::Acquire(subtle::LockTracking tracking) { … }
void CheckedLockImpl::Release() { … }
void CheckedLockImpl::AssertAcquired() const { … }
void CheckedLockImpl::AssertNotHeld() const { … }
ConditionVariable CheckedLockImpl::CreateConditionVariable() { … }
void CheckedLockImpl::CreateConditionVariableAndEmplace(
std::optional<ConditionVariable>& opt) { … }
}
}