From 7c34dda603ff687588af464ea1c6594e49f6efc7 Mon Sep 17 00:00:00 2001 From: Piotr Caban Date: Tue, 23 Jan 2018 17:03:22 +0100 Subject: [PATCH] msvcp100: Add _Concurrent_queue_base_v4::_Internal_finish_clear implementation. Signed-off-by: Piotr Caban Signed-off-by: Alexandre Julliard --- dlls/msvcp90/misc.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/dlls/msvcp90/misc.c b/dlls/msvcp90/misc.c index c5c0a4fa762..32d9e29585b 100644 --- a/dlls/msvcp90/misc.c +++ b/dlls/msvcp90/misc.c @@ -1235,6 +1235,13 @@ typedef struct } _Concurrent_queue_base_v4; extern const vtable_ptr MSVCP__Concurrent_queue_base_v4_vtable; +#if _MSVCP_VER == 100 +#define call__Concurrent_queue_base_v4__Deallocate_page(this, page) CALL_VTBL_FUNC(this, \ + 16, void, (_Concurrent_queue_base_v4*,_Page*), (this,page)) +#else +#define call__Concurrent_queue_base_v4__Deallocate_page(this, page) CALL_VTBL_FUNC(this, \ + 20, void, (_Concurrent_queue_base_v4*,_Page*), (this,page)) +#endif /* ?_Internal_throw_exception@_Concurrent_queue_base_v4@details@Concurrency@@IBEXXZ */ /* ?_Internal_throw_exception@_Concurrent_queue_base_v4@details@Concurrency@@IEBAXXZ */ @@ -1306,7 +1313,15 @@ DEFINE_THISCALL_WRAPPER(_Concurrent_queue_base_v4__Internal_finish_clear, 4) void __thiscall _Concurrent_queue_base_v4__Internal_finish_clear( _Concurrent_queue_base_v4 *this) { - FIXME("(%p) stub\n", this); + int i; + + TRACE("(%p)\n", this); + + for(i=0; idata->queues[i].tail) + call__Concurrent_queue_base_v4__Deallocate_page(this, this->data->queues[i].tail); + } } /* ?_Internal_empty@_Concurrent_queue_base_v4@details@Concurrency@@IBE_NXZ */ -- 2.11.4.GIT