[PATCH v4 3/3] msvcr120: Implement _StructuredTaskCollection::_StructuredTaskCollection_dtor.
Torge Matthies
tmatthies at codeweavers.com
Mon Apr 11 09:30:08 CDT 2022
Signed-off-by: Torge Matthies <tmatthies at codeweavers.com>
---
v3 -> v4:
Added freeing of the chore list.
dlls/concrt140/concrt140.spec | 2 +-
dlls/msvcr120/msvcr120.spec | 2 +-
dlls/msvcrt/concurrency.c | 19 +++++++++++++++++++
3 files changed, 21 insertions(+), 2 deletions(-)
diff --git a/dlls/concrt140/concrt140.spec b/dlls/concrt140/concrt140.spec
index 6b5ab7a5511..431d6406d37 100644
--- a/dlls/concrt140/concrt140.spec
+++ b/dlls/concrt140/concrt140.spec
@@ -269,7 +269,7 @@
@ stub -arch=win64 ??1_SpinLock at details@Concurrency@@QEAA at XZ
@ stub -arch=arm ??1_StructuredTaskCollection at details@Concurrency@@QAA at XZ
@ stub -arch=i386 ??1_StructuredTaskCollection at details@Concurrency@@QAE at XZ
-@ stub -arch=win64 ??1_StructuredTaskCollection at details@Concurrency@@QEAA at XZ
+@ thiscall -arch=win64 ??1_StructuredTaskCollection at details@Concurrency@@QEAA at XZ(ptr) StructuredTaskCollection_dtor
@ stub -arch=arm ??1_TaskCollection at details@Concurrency@@QAA at XZ
@ stub -arch=i386 ??1_TaskCollection at details@Concurrency@@QAE at XZ
@ stub -arch=win64 ??1_TaskCollection at details@Concurrency@@QEAA at XZ
diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec
index 46e16257b5d..8a5d20036ec 100644
--- a/dlls/msvcr120/msvcr120.spec
+++ b/dlls/msvcr120/msvcr120.spec
@@ -291,7 +291,7 @@
@ stub -arch=i386 ??1_SpinLock at details@Concurrency@@QAE at XZ
@ stub -arch=win64 ??1_SpinLock at details@Concurrency@@QEAA at XZ
@ stub -arch=i386 ??1_StructuredTaskCollection at details@Concurrency@@QAE at XZ
-@ stub -arch=win64 ??1_StructuredTaskCollection at details@Concurrency@@QEAA at XZ
+@ thiscall -arch=win64 ??1_StructuredTaskCollection at details@Concurrency@@QEAA at XZ(ptr) StructuredTaskCollection_dtor
@ stub -arch=arm ??1_TaskCollection at details@Concurrency@@QAA at XZ
@ stub -arch=i386 ??1_TaskCollection at details@Concurrency@@QAE at XZ
@ stub -arch=win64 ??1_TaskCollection at details@Concurrency@@QEAA at XZ
diff --git a/dlls/msvcrt/concurrency.c b/dlls/msvcrt/concurrency.c
index 2da39745f93..98baf253adf 100644
--- a/dlls/msvcrt/concurrency.c
+++ b/dlls/msvcrt/concurrency.c
@@ -1782,6 +1782,25 @@ bool __thiscall SpinWait__SpinOnce(SpinWait *this)
}
}
+#if _MSVCR_VER >= 120
+
+/* ??1_StructuredTaskCollection at details@Concurrency@@QEAA at XZ */
+DEFINE_THISCALL_WRAPPER(StructuredTaskCollection_dtor, 4)
+void __thiscall StructuredTaskCollection_dtor(StructuredTaskCollection *this)
+{
+ StructuredTaskCollectionChoresEntry *entry, *next;
+
+ TRACE("(%p)\n", this);
+
+ for (entry = this->unk_chores; entry; entry = next)
+ {
+ next = entry->next;
+ operator_delete(entry);
+ }
+}
+
+#endif /* _MSVCR_VER >= 120 */
+
#if _MSVCR_VER >= 100
static void CALLBACK StructuredTaskCollection_threadpool_cb_finally(BOOL normal, void *data)
--
2.35.1
More information about the wine-devel
mailing list