[*] Fix: axboe is a piss baby retard who cant even write a thread safe ring buffer

This is the dude tasked with managing Linshits IO stack, including the fundamentally flawed muh zero-syscall pissring, the fucked io_submit apis that never worked properly (incl io_cancel that spuriously returns EINVAL despite all magics matching), the retard who stuck to Linus's idea that MUH O_DIRECT IS LE EVIL YOU MUST USE MY CACHES REEE REEE, and the retard who got indirectly called out by Linus as being apart of the database maintainers who Linus didn't/doesnt like and who wanted these APIs in the first place.
This commit is contained in:
Reece Wilson 2024-08-05 05:19:58 +01:00
parent 75f6325ee2
commit 72b09cb085

View File

@ -227,15 +227,21 @@ namespace Aurora
while (i < max_nr)
{
auto head = pRing->head;
auto head = AuAtomicLoad(&pRing->head);
if (head == pRing->tail)
{
break;
}
events[i++] = pRing->events[head];
read_barrier();
pRing->head = (head + 1) % pRing->nr;
auto nextHead = (head + 1) % pRing->nr;
if (AuAtomicCompareExchange(&pRing->head,
nextHead,
head) != head)
{
i--;
}
}
if (!i &&