Piotr Caban : msvcp140: Add _Execute_once implementation.

Alexandre Julliard julliard at winehq.org
Mon Sep 26 09:29:59 CDT 2016


Module: wine
Branch: master
Commit: bb88947b051680cac11dbf7d9b2c3c06b143048b
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=bb88947b051680cac11dbf7d9b2c3c06b143048b

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Mon Sep 26 12:00:36 2016 +0200

msvcp140: Add _Execute_once implementation.

Signed-off-by: Piotr Caban <piotr at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/msvcp140/msvcp140.spec | 6 +++---
 dlls/msvcp90/misc.c         | 7 +++++++
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/dlls/msvcp140/msvcp140.spec b/dlls/msvcp140/msvcp140.spec
index cc2e338..a43950f 100644
--- a/dlls/msvcp140/msvcp140.spec
+++ b/dlls/msvcp140/msvcp140.spec
@@ -1145,9 +1145,9 @@
 @ cdecl -arch=arm ?_Empty@?$_Yarn at _W@std@@QBA_NXZ(ptr) _Yarn_wchar__Empty
 @ thiscall -arch=i386 ?_Empty@?$_Yarn at _W@std@@QBE_NXZ(ptr) _Yarn_wchar__Empty
 @ cdecl -arch=win64 ?_Empty@?$_Yarn at _W@std@@QEBA_NXZ(ptr) _Yarn_wchar__Empty
-@ stub -arch=arm ?_Execute_once at std@@YAHAAUonce_flag at 1@P6AHPAX1PAPAX at Z1@Z
-@ stub -arch=i386 ?_Execute_once at std@@YAHAAUonce_flag at 1@P6GHPAX1PAPAX at Z1@Z
-@ stub -arch=win64 ?_Execute_once at std@@YAHAEAUonce_flag at 1@P6AHPEAX1PEAPEAX at Z1@Z
+@ cdecl -arch=arm ?_Execute_once at std@@YAHAAUonce_flag at 1@P6AHPAX1PAPAX at Z1@Z(ptr ptr ptr) _Execute_once
+@ cdecl -arch=i386 ?_Execute_once at std@@YAHAAUonce_flag at 1@P6GHPAX1PAPAX at Z1@Z(ptr ptr ptr) _Execute_once
+@ cdecl -arch=win64 ?_Execute_once at std@@YAHAEAUonce_flag at 1@P6AHPEAX1PEAPEAX at Z1@Z(ptr ptr ptr) _Execute_once
 @ cdecl -arch=win32 ?_Ffmt@?$num_put at DV?$ostreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@ABAPADPADDH at Z(ptr ptr long long) num_put_char__Ffmt
 @ cdecl -arch=win64 ?_Ffmt@?$num_put at DV?$ostreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@AEBAPEADPEADDH at Z(ptr ptr long long) num_put_char__Ffmt
 @ cdecl -arch=win32 ?_Ffmt@?$num_put at GV?$ostreambuf_iterator at GU?$char_traits at G@std@@@std@@@std@@ABAPADPADDH at Z(ptr ptr long long) num_put_wchar__Ffmt
diff --git a/dlls/msvcp90/misc.c b/dlls/msvcp90/misc.c
index 4b3d506..41f2eeb 100644
--- a/dlls/msvcp90/misc.c
+++ b/dlls/msvcp90/misc.c
@@ -1162,6 +1162,13 @@ HANDLE CDECL MSVCP__crtCreateSemaphoreExW(
     return CreateSemaphoreExW(attribs, initial_count, max_count, name, flags, access);
 }
 
+/* ?_Execute_once at std@@YAHAAUonce_flag at 1@P6GHPAX1PAPAX at Z1@Z */
+/* ?_Execute_once at std@@YAHAEAUonce_flag at 1@P6AHPEAX1PEAPEAX at Z1@Z */
+BOOL __cdecl _Execute_once(INIT_ONCE *flag, PINIT_ONCE_FN func, void *param)
+{
+    return InitOnceExecuteOnce(flag, func, param, NULL);
+}
+
 void init_misc(void *base)
 {
 #ifdef __x86_64__




More information about the wine-cvs mailing list