[*] Minor update to WaitMultipleLoopSourcesEx
This commit is contained in:
parent
35fb78787d
commit
a3046658fe
@ -176,10 +176,17 @@ namespace Aurora::IO::Loop
|
|||||||
{
|
{
|
||||||
bStatus = entryZero->WaitOn(optTimeoutMS.value());
|
bStatus = entryZero->WaitOn(optTimeoutMS.value());
|
||||||
}
|
}
|
||||||
else
|
else if (bSpin)
|
||||||
{
|
{
|
||||||
bStatus = entryZero->IsSignaled();
|
bStatus = entryZero->IsSignaled();
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
auto pSourceEx = AuDynamicCast<Loop::ILoopSourceEx>(entryZero);
|
||||||
|
bStatus = pSourceEx ?
|
||||||
|
pSourceEx->IsSignaledNoSpinIfUserland() :
|
||||||
|
entryZero->IsSignaled();
|
||||||
|
}
|
||||||
|
|
||||||
if (!bStatus)
|
if (!bStatus)
|
||||||
{
|
{
|
||||||
@ -224,9 +231,22 @@ namespace Aurora::IO::Loop
|
|||||||
|
|
||||||
if (bZeroTick)
|
if (bZeroTick)
|
||||||
{
|
{
|
||||||
if (!lsList[i]->IsSignaled())
|
if (bSpin)
|
||||||
{
|
{
|
||||||
break;
|
if (!lsList[i]->IsSignaled())
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
auto pSourceEx = AuDynamicCast<Loop::ILoopSourceEx>(lsList[i]);
|
||||||
|
if (!(pSourceEx ?
|
||||||
|
pSourceEx->IsSignaledNoSpinIfUserland() :
|
||||||
|
entryZero->IsSignaled()))
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user