Piotr Caban : msvcp140: Add _Task_impl_base::_IsNonBlockingThread stub.

Alexandre Julliard julliard at winehq.org
Fri Apr 20 17:55:42 CDT 2018


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

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Fri Apr 20 17:35:48 2018 +0200

msvcp140: Add _Task_impl_base::_IsNonBlockingThread stub.

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

---

 dlls/msvcp140/msvcp140.spec    | 2 +-
 dlls/msvcp140/tests/msvcp140.c | 8 ++++++++
 dlls/msvcp90/misc.c            | 9 +++++++++
 3 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/dlls/msvcp140/msvcp140.spec b/dlls/msvcp140/msvcp140.spec
index ddf8ba7..03bc617 100644
--- a/dlls/msvcp140/msvcp140.spec
+++ b/dlls/msvcp140/msvcp140.spec
@@ -1443,7 +1443,7 @@
 @ cdecl -arch=win32 ?_Iput@?$num_put at _WV?$ostreambuf_iterator at _WU?$char_traits at _W@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator at _WU?$char_traits at _W@std@@@2 at V32@AAVios_base at 2@_WPADI at Z(ptr ptr long ptr ptr long ptr long) num_put_wchar__Iput
 @ cdecl -arch=win64 ?_Iput@?$num_put at _WV?$ostreambuf_iterator at _WU?$char_traits at _W@std@@@std@@@std@@AEBA?AV?$ostreambuf_iterator at _WU?$char_traits at _W@std@@@2 at V32@AEAVios_base at 2@_WPEAD_K at Z(ptr ptr ptr ptr long ptr long) num_put_wchar__Iput
 @ cdecl ?_IsCurrentOriginSTA at _ContextCallback@details at Concurrency@@CA_NXZ(ptr) _ContextCallback__IsCurrentOriginSTA
-@ stub ?_IsNonBlockingThread at _Task_impl_base@details at Concurrency@@SA_NXZ
+@ cdecl ?_IsNonBlockingThread at _Task_impl_base@details at Concurrency@@SA_NXZ() _Task_impl_base__IsNonBlockingThread
 @ cdecl -arch=win32 ?_Locimp_Addfac at _Locimp@locale at std@@CAXPAV123 at PAVfacet@23 at I@Z(ptr ptr long) locale__Locimp__Locimp_Addfac
 @ cdecl -arch=win64 ?_Locimp_Addfac at _Locimp@locale at std@@CAXPEAV123 at PEAVfacet@23 at _K@Z(ptr ptr long) locale__Locimp__Locimp_Addfac
 @ cdecl -arch=win32 ?_Locimp_ctor at _Locimp@locale at std@@CAXPAV123 at ABV123@@Z(ptr ptr) locale__Locimp__Locimp_ctor
diff --git a/dlls/msvcp140/tests/msvcp140.c b/dlls/msvcp140/tests/msvcp140.c
index 620e931..593e0ce 100644
--- a/dlls/msvcp140/tests/msvcp140.c
+++ b/dlls/msvcp140/tests/msvcp140.c
@@ -149,6 +149,7 @@ enum file_type {
 };
 
 static unsigned int (__cdecl *p__Thrd_id)(void);
+static MSVCP_bool (__cdecl *p__Task_impl_base__IsNonBlockingThread)(void);
 static task_continuation_context* (__thiscall *p_task_continuation_context_ctor)(task_continuation_context*);
 static void (__thiscall *p__ContextCallback__Assign)(_ContextCallback*, void*);
 static void (__thiscall *p__ContextCallback__CallInContext)(const _ContextCallback*, function_void_cdecl_void, MSVCP_bool);
@@ -198,6 +199,7 @@ static BOOL init(void)
     }
 
     SET(p__Thrd_id, "_Thrd_id");
+    SET(p__Task_impl_base__IsNonBlockingThread, "?_IsNonBlockingThread at _Task_impl_base@details at Concurrency@@SA_NXZ");
     SET(p__ContextCallback__IsCurrentOriginSTA, "?_IsCurrentOriginSTA at _ContextCallback@details at Concurrency@@CA_NXZ");
 
     if(sizeof(void*) == 8) { /* 64-bit initialization */
@@ -276,6 +278,11 @@ static void test_thrd(void)
         p__Thrd_id(), GetCurrentThreadId());
 }
 
+static void test__Task_impl_base__IsNonBlockingThread(void)
+{
+    ok(!p__Task_impl_base__IsNonBlockingThread(), "_IsNonBlockingThread() returned true\n");
+}
+
 static struct {
     int value[2];
     const char* export_name;
@@ -1058,6 +1065,7 @@ START_TEST(msvcp140)
 {
     if(!init()) return;
     test_thrd();
+    test__Task_impl_base__IsNonBlockingThread();
     test_vbtable_size_exports();
     test_task_continuation_context();
     test__ContextCallback();
diff --git a/dlls/msvcp90/misc.c b/dlls/msvcp90/misc.c
index a56389c..d9e01d4 100644
--- a/dlls/msvcp90/misc.c
+++ b/dlls/msvcp90/misc.c
@@ -2142,3 +2142,12 @@ void __thiscall _vector_base_v4__Internal_throw_exception(void/*_vector_base_v4*
         throw_exception(exceptions[idx].type, exceptions[idx].msg);
 }
 #endif
+
+#if _MSVCP_VER >= 140
+/* ?_IsNonBlockingThread at _Task_impl_base@details at Concurrency@@SA_NXZ */
+MSVCP_bool __cdecl _Task_impl_base__IsNonBlockingThread(void)
+{
+    FIXME("() stub\n");
+    return FALSE;
+}
+#endif




More information about the wine-cvs mailing list