From c79a709f969e2142137718106447318fd0a6dfaf Mon Sep 17 00:00:00 2001 From: Jamie Reece Wilson Date: Tue, 30 Apr 2024 22:57:45 +0100 Subject: [PATCH] [*] RWLock: "I didn't like what I saw emitted" cont --- Source/Threading/Primitives/AuRWLock.cpp | 5 ++++- Source/Threading/Primitives/AuRWLock.hpp | 9 +++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Source/Threading/Primitives/AuRWLock.cpp b/Source/Threading/Primitives/AuRWLock.cpp index 02546093..3d1329af 100644 --- a/Source/Threading/Primitives/AuRWLock.cpp +++ b/Source/Threading/Primitives/AuRWLock.cpp @@ -13,10 +13,13 @@ namespace Aurora::Threading::Primitives { + /* static const AuUInt8 ... = ...; */ #define kOffsetOfRead AuOffsetOf(&RWLockImpl::read_) + /* static const AuUInt8 ... = ...; */ #define kOffsetOfWrite AuOffsetOf(&RWLockImpl::write_) + #if defined(RWLOCK_VIEW_HAS_PARENT) #define ViewParent (&this->parent_) #else - #define ViewParent ((T *)(((char *)this) - (bIsReadView ? RWLockImpl::kOffsetOfRead : RWLockImpl::kOffsetOfWrite))) + #define ViewParent ((T *)(((char *)this) - (bIsReadView ? kOffsetOfRead : kOffsetOfWrite))) #endif #define RWLockAcquire AU_LOCK_GUARD(this->mutex_); diff --git a/Source/Threading/Primitives/AuRWLock.hpp b/Source/Threading/Primitives/AuRWLock.hpp index f6f81ec3..9bdbe698 100644 --- a/Source/Threading/Primitives/AuRWLock.hpp +++ b/Source/Threading/Primitives/AuRWLock.hpp @@ -104,10 +104,11 @@ namespace Aurora::Threading::Primitives auline AuUInt32 *GetReadSleepCounter(); - private: + public: // "private" RWLockAccessView read_; RWLockAccessView write_; - + + private: ConditionMutexInternal mutex_; #if defined(AURWLOCK_NO_SIZE_OPTIMIZED_CONDVAR) ConditionVariableInternal condition_; @@ -120,9 +121,5 @@ namespace Aurora::Threading::Primitives AuAInt32 iState_ {}; AuAInt32 dwWritersPending_ {}; - - public: - cstatic const AuUInt8 kOffsetOfRead = AuOffsetOf(&RWLockImpl::read_); - cstatic const AuUInt8 kOffsetOfWrite = AuOffsetOf(&RWLockImpl::write_); }; }