From c595bef69b84a0542c006aa23bd79823cf8eef10 Mon Sep 17 00:00:00 2001 From: Piotr Caban Date: Fri, 14 Apr 2023 12:57:06 +0200 Subject: [PATCH] msvcr100: Add ExternalContextBase::Unblock implementation. --- dlls/msvcrt/concurrency.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/dlls/msvcrt/concurrency.c b/dlls/msvcrt/concurrency.c index d7520ac308c..47a0e08adb8 100644 --- a/dlls/msvcrt/concurrency.c +++ b/dlls/msvcrt/concurrency.c @@ -915,7 +915,11 @@ unsigned int __thiscall ExternalContextBase_GetScheduleGroupId(const ExternalCon DEFINE_THISCALL_WRAPPER(ExternalContextBase_Unblock, 4) void __thiscall ExternalContextBase_Unblock(ExternalContextBase *this) { - FIXME("(%p)->() stub\n", this); + TRACE("(%p)->()\n", this); + + /* TODO: throw context_unblock_unbalanced if this->blocked goes below -1 */ + if (!InterlockedDecrement(&this->blocked)) + RtlWakeAddressSingle(&this->blocked); } DEFINE_THISCALL_WRAPPER(ExternalContextBase_IsSynchronouslyBlocked, 4)