Piotr Caban : msvcp100: Add _Concurrent_queue_base_v4:: _Internal_finish_clear implementation.
Alexandre Julliard
julliard at winehq.org
Tue Jan 23 16:09:50 CST 2018
Module: wine
Branch: master
Commit: 7c34dda603ff687588af464ea1c6594e49f6efc7
URL: https://source.winehq.org/git/wine.git/?a=commit;h=7c34dda603ff687588af464ea1c6594e49f6efc7
Author: Piotr Caban <piotr at 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 at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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 at _Concurrent_queue_base_v4@details at Concurrency@@IBEXXZ */
/* ?_Internal_throw_exception at _Concurrent_queue_base_v4@details at 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 at _Concurrent_queue_base_v4@details at Concurrency@@IBE_NXZ */
More information about the wine-cvs
mailing list