[PATCH 2/3] msvcrt: Implement Concurrency::event

Sebastian Lackner sebastian at fds-team.de
Mon Mar 13 16:04:28 CDT 2017


On 13.03.2017 21:53, Daniel Lehman wrote:
> 
> From 44d603b75fe10d51377c20e4c3c2a1bf031c4fcf Mon Sep 17 00:00:00 2001
> From: Daniel Lehman <dlehman at esri.com>
> Date: Mon, 12 Dec 2016 16:44:44 -0800
> Subject: [PATCH 2/3] msvcrt: Implement Concurrency::event
> 
> wait_for_multiple can handle more than WaitForMultipleObjects' limit of 64
> a separate thread is used to handle threads that wait on multiple handles
> and is loosely modeled after wineserver's select request handler
> a very simple command structure is used to communicate with it over a single shared pipe
> 
> Signed-off-by: Daniel Lehman <dlehman at esri.com>
> ---
>  dlls/msvcrt/lock.c   | 387 +++++++++++++++++++++++++++++++++++++++++++++++++--
>  dlls/msvcrt/main.c   |   3 +
>  dlls/msvcrt/msvcrt.h |  18 +++
>  3 files changed, 397 insertions(+), 11 deletions(-)

Not sure if its suitable here, but please note that Wines threadpool
implementation also supports waiting on more than 64 objects (using
similar tricks). If possible, it would be better to avoid the second
implementation.




More information about the wine-devel mailing list