On 3/3/21 6:42 PM, André Almeida wrote:
** 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. Considering this is a primitive synchronization operation for Windows applications, being able to quickly signal events on the producer side, and quickly go to sleep on the consumer side is essential for good performance of those running over Wine.
It's probably worth pointing out, for better or for worse, while this is *a* use case, it's also limited to an out-of-tree patch set/forked versions of Wine. I'm currently working on a different approach that should be upstreamable to Wine proper, as detailed in [1].
[1] https://lore.kernel.org/lkml/f4cc1a38-1441-62f8-47e4-0c67f5ad1d43@xxxxxxxxxxxxxxx/