Module: wine Branch: master Commit: 61e6e8baa01dd44fa46744a8bc2b226474ce487a URL: http://source.winehq.org/git/wine.git/?a=commit;h=61e6e8baa01dd44fa46744a8bc...
Author: Piotr Caban piotr@codeweavers.com Date: Fri Sep 23 16:28:21 2016 +0200
msvcp140: Add _Cnd_init_in_situ implementation.
Signed-off-by: Piotr Caban piotr@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/msvcp140/msvcp140.spec | 2 +- dlls/msvcp90/misc.c | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/dlls/msvcp140/msvcp140.spec b/dlls/msvcp140/msvcp140.spec index 5980081..cc2e338 100644 --- a/dlls/msvcp140/msvcp140.spec +++ b/dlls/msvcp140/msvcp140.spec @@ -3626,7 +3626,7 @@ @ stub _Cnd_destroy_in_situ @ stub _Cnd_do_broadcast_at_thread_exit @ cdecl _Cnd_init(ptr) _Cnd_init -@ stub _Cnd_init_in_situ +@ cdecl _Cnd_init_in_situ(ptr) @ stub _Cnd_register_at_thread_exit @ cdecl _Cnd_signal(ptr) _Cnd_signal @ cdecl _Cnd_timedwait(ptr ptr ptr) _Cnd_timedwait diff --git a/dlls/msvcp90/misc.c b/dlls/msvcp90/misc.c index 96339e2..4b3d506 100644 --- a/dlls/msvcp90/misc.c +++ b/dlls/msvcp90/misc.c @@ -584,10 +584,9 @@ typedef _Cnd_t *_Cnd_arg_t;
static HANDLE keyed_event;
-int __cdecl _Cnd_init(_Cnd_t *cnd) +void __cdecl _Cnd_init_in_situ(_Cnd_t cnd) { - *cnd = MSVCRT_operator_new(sizeof(**cnd)); - InitializeConditionVariable(&(*cnd)->cv); + InitializeConditionVariable(&cnd->cv);
if(!keyed_event) { HANDLE event; @@ -596,7 +595,12 @@ int __cdecl _Cnd_init(_Cnd_t *cnd) if(InterlockedCompareExchangePointer(&keyed_event, event, NULL) != NULL) NtClose(event); } +}
+int __cdecl _Cnd_init(_Cnd_t *cnd) +{ + *cnd = MSVCRT_operator_new(sizeof(**cnd)); + _Cnd_init_in_situ(*cnd); return 0; }