[*] RWLock: "I didn't like what I saw emitted" cont
This commit is contained in:
parent
07ef822bfa
commit
c79a709f96
@ -13,10 +13,13 @@
|
||||
|
||||
namespace Aurora::Threading::Primitives
|
||||
{
|
||||
/* static const AuUInt8 ... = ...; */ #define kOffsetOfRead AuOffsetOf(&RWLockImpl<true>::read_)
|
||||
/* static const AuUInt8 ... = ...; */ #define kOffsetOfWrite AuOffsetOf(&RWLockImpl<true>::write_)
|
||||
|
||||
#if defined(RWLOCK_VIEW_HAS_PARENT)
|
||||
#define ViewParent (&this->parent_)
|
||||
#else
|
||||
#define ViewParent ((T *)(((char *)this) - (bIsReadView ? RWLockImpl<true>::kOffsetOfRead : RWLockImpl<true>::kOffsetOfWrite)))
|
||||
#define ViewParent ((T *)(((char *)this) - (bIsReadView ? kOffsetOfRead : kOffsetOfWrite)))
|
||||
#endif
|
||||
|
||||
#define RWLockAcquire AU_LOCK_GUARD(this->mutex_);
|
||||
|
@ -104,10 +104,11 @@ namespace Aurora::Threading::Primitives
|
||||
|
||||
auline AuUInt32 *GetReadSleepCounter();
|
||||
|
||||
private:
|
||||
public: // "private"
|
||||
RWLockAccessView<true, RWLockImpl> read_;
|
||||
RWLockAccessView<false, RWLockImpl> 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_);
|
||||
};
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user