From a2d618ef22da3485a200f34e19ffbeace8fd5da4 Mon Sep 17 00:00:00 2001 From: Piotr Caban Date: Fri, 20 Apr 2018 17:35:48 +0200 Subject: [PATCH] msvcp140: Add _Task_impl_base::_IsNonBlockingThread stub. Signed-off-by: Piotr Caban Signed-off-by: Alexandre Julliard --- 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 ddf8ba7229e..03bc6177790 100644 --- a/dlls/msvcp140/msvcp140.spec +++ b/dlls/msvcp140/msvcp140.spec @@ -1443,7 +1443,7 @@ @ cdecl -arch=win32 ?_Iput@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_WPADI@Z(ptr ptr long ptr ptr long ptr long) num_put_wchar__Iput @ cdecl -arch=win64 ?_Iput@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@AEBA?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AEAVios_base@2@_WPEAD_K@Z(ptr ptr ptr ptr long ptr long) num_put_wchar__Iput @ cdecl ?_IsCurrentOriginSTA@_ContextCallback@details@Concurrency@@CA_NXZ(ptr) _ContextCallback__IsCurrentOriginSTA -@ stub ?_IsNonBlockingThread@_Task_impl_base@details@Concurrency@@SA_NXZ +@ cdecl ?_IsNonBlockingThread@_Task_impl_base@details@Concurrency@@SA_NXZ() _Task_impl_base__IsNonBlockingThread @ cdecl -arch=win32 ?_Locimp_Addfac@_Locimp@locale@std@@CAXPAV123@PAVfacet@23@I@Z(ptr ptr long) locale__Locimp__Locimp_Addfac @ cdecl -arch=win64 ?_Locimp_Addfac@_Locimp@locale@std@@CAXPEAV123@PEAVfacet@23@_K@Z(ptr ptr long) locale__Locimp__Locimp_Addfac @ cdecl -arch=win32 ?_Locimp_ctor@_Locimp@locale@std@@CAXPAV123@ABV123@@Z(ptr ptr) locale__Locimp__Locimp_ctor diff --git a/dlls/msvcp140/tests/msvcp140.c b/dlls/msvcp140/tests/msvcp140.c index 620e9317c9f..593e0ce42bc 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@_Task_impl_base@details@Concurrency@@SA_NXZ"); SET(p__ContextCallback__IsCurrentOriginSTA, "?_IsCurrentOriginSTA@_ContextCallback@details@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 a56389c9700..d9e01d4acd5 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@_Task_impl_base@details@Concurrency@@SA_NXZ */ +MSVCP_bool __cdecl _Task_impl_base__IsNonBlockingThread(void) +{ + FIXME("() stub\n"); + return FALSE; +} +#endif