[*] remove redundant branch from sync primitive

[*] optimize event
This commit is contained in:
Reece Wilson 2023-06-28 02:11:08 +01:00
parent 1265027550
commit 894df69fe0

View File

@ -32,10 +32,16 @@ namespace Aurora::Threading::Primitives
bool EventImpl::LockNS(AuUInt64 uTimeout /*=0*/)
{
AU_LOCK_GUARD(this->mutex_);
AuInt64 uStartTime {};
AuInt64 uEndTime {};
AuInt64 uStartTime = Time::SteadyClockNS();
AuInt64 uEndTime = uStartTime + uTimeout;
if (uTimeout)
{
uStartTime = Time::SteadyClockNS();
uEndTime = uStartTime + uTimeout;
}
AU_LOCK_GUARD(this->mutex_);
while (!AtomicIsEventSetLogic())
{
@ -58,11 +64,6 @@ namespace Aurora::Threading::Primitives
}
}
if (this->bAtomicRelease_)
{
this->bTriggered_ = false;
}
return true;
}
@ -90,9 +91,8 @@ namespace Aurora::Threading::Primitives
void EventImpl::Reset()
{
this->mutex_.Lock();
AU_LOCK_GUARD(this->mutex_);
this->bTriggered_ = false;
this->mutex_.Unlock();
}
void EventImpl::Set()