Rémi Bernon : ntdll: Re-implement RtlRegisterWait using TpSetWait.

Alexandre Julliard julliard at winehq.org
Thu Feb 11 15:37:15 CST 2021


Module: wine
Branch: master
Commit: 26ee9134d5d75ee515ccf06987cd024b64e498aa
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=26ee9134d5d75ee515ccf06987cd024b64e498aa

Author: Rémi Bernon <rbernon at 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 at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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=26ee9134d5d75ee515ccf06987cd024b64e498aa



More information about the wine-cvs mailing list