Hi André,
** The wait on multiple problem
The use case lies in the Wine implementation of the Windows NT interface WaitMultipleObjects. This Windows API function allows a thread to sleep waiting on the first of a set of event sources (mutexes, timers, signal, console input, etc) to signal.
With that in mind would it be good to have some interaction with epoll (and similar calls)?
Instead of having a blocked futex_waitv() waiting on an fd (maybe a generic eventfd() or a new futex2fd()) would be a better interface?
Or instead introduce an IORING_OP_FUTEX2_WAITV? Then the futex_waitv logic wait in an io-wq kernel thread...
I guess the io_uring way would mean we could have that in mind as future addition, which can be implemented later...
metze