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