5 ms·
futex_waitv was only a small part of the whole FUTEX2 package. https://www.phoronix.com/news/FUTEX2-futex_waitv-v2 ... https://www.phoronix.com/search/FU
by mjevans 3y ago
futex_waitv was only a small part of the whole FUTEX2 package.
https://www.phoronix.com/news/FUTEX2-futex_waitv-v2
...
https://www.phoronix.com/search/FUTEX2
...
https://www.phoronix.com/news/Futex2-System-Call-RFC
https://www.phoronix.com/news/FUTEX2-LPC-2020
https://www.phoronix.com/news/FUTEX2-2021-Still-WIP
https://www.phoronix.com/news/FUTEX2-Bits-In-Locking-Core
Though none of the articles so far have bothered looking up... 'NtPulseEvent() or the "wait-for-all" mode of NtWaitForMultipleObjects()'
Not many great hits for NtPulseEvent() but the first result I got says "Function sets event to signaled state, releases all (or one - dependly of EVENT_TYPE) waiting threads, and resets event to non-signaled state. If they're no waiting threads, NtPulseEvent just clear event state."
NtWaitForMultipleObjects()
https://learn.microsoft.com/en-us/windows/win32/api/synchapi/nf-synchapi-waitformultipleobjects https://learn.microsoft.com/en-us/windows/win32/api/synchapi...
After reading this, I'm still unclear about what's missing. A guess is the wakeup on timeout?
- poizan42 3y agoFor the public documentation for NtPulseEvent, see PulseEvent (which just calls NtPulseEvent): https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-pulseevent https://learn.microsoft.com/en-us/windows/win32/api/winbase/...