Module: wine
Branch: master
Commit: 26ee9134d5d75ee515ccf06987cd024b64e498aa
URL: https://source.winehq.org/git/wine.git/?a=commit;h=26ee9134d5d75ee515ccf069…
Author: Rémi Bernon <rbernon(a)codeweavers.com>
Date: Thu Feb 11 10:53:49 2021 +0100
ntdll: Re-implement RtlRegisterWait using TpSetWait.
This adds several internal flags to TP_WAIT object to support the
implementation:
* WT_EXECUTEONLYONCE: waits are re-queued unless it is set.
* WT_EXECUTEINWAITTHREAD: call the callback in the wait thread when set.
* WT_EXECUTEINIOTHREAD: call alertable NtWaitForMultipleObjects in wait
thread when set, as well the callback in the wait thread, as for
WT_EXECUTEINWAITTHREAD. The worker threads use non-alertable waits
otherwise.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47843
Signed-off-by: Rémi Bernon <rbernon(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
dlls/kernel32/tests/thread.c | 1 -
dlls/ntdll/tests/threadpool.c | 6 +-
dlls/ntdll/threadpool.c | 264 ++++++++++++++++--------------------------
3 files changed, 100 insertions(+), 171 deletions(-)
Diff: https://source.winehq.org/git/wine.git/?a=commitdiff;h=26ee9134d5d75ee515cc…