3 ms·
Well, you don't. Just like when acquiring an unlocked spinlock. ;-) Should look something like this: for(;;){ if(atomic_swap(&thefutex, 1) == 0) b
by slrz 9y ago
Well, you don't. Just like when acquiring an unlocked spinlock. ;-)
Should look something like this:
for(;;){
if(atomic_swap(&thefutex, 1) == 0)
break; // we own the lock now
// slow path, go to sleep until awoken
syscall(SYS_FUTEX, FUTEX_WAIT, ...);
}