Module: wine Branch: master Commit: 7c34dda603ff687588af464ea1c6594e49f6efc7 URL: https://source.winehq.org/git/wine.git/?a=commit;h=7c34dda603ff687588af464ea...
Author: Piotr Caban piotr@codeweavers.com Date: Tue Jan 23 17:03:22 2018 +0100
msvcp100: Add _Concurrent_queue_base_v4::_Internal_finish_clear implementation.
Signed-off-by: Piotr Caban piotr@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
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 c5c0a4f..32d9e29 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; i<QUEUES_NO; i++) + { + if(this->data->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 */