[PATCH 2/3] msvcr100: Add _StructuredTaskCollection::_RunAndWait stub.

Torge Matthies tmatthies at codeweavers.com
Fri Apr 1 08:41:04 CDT 2022


Signed-off-by: Torge Matthies <tmatthies at codeweavers.com>
---
 dlls/concrt140/concrt140.spec       |  2 +-
 dlls/msvcr100/msvcr100.spec         |  2 +-
 dlls/msvcr110/msvcr110.spec         |  2 +-
 dlls/msvcr120/msvcr120.spec         |  2 +-
 dlls/msvcr120_app/msvcr120_app.spec |  2 +-
 dlls/msvcrt/concurrency.c           | 15 +++++++++++++++
 6 files changed, 20 insertions(+), 5 deletions(-)

diff --git a/dlls/concrt140/concrt140.spec b/dlls/concrt140/concrt140.spec
index ab57c736672..6b5ab7a5511 100644
--- a/dlls/concrt140/concrt140.spec
+++ b/dlls/concrt140/concrt140.spec
@@ -590,7 +590,7 @@
 @ cdecl -arch=win64 ?_Reset@?$_SpinWait@$0A@@details at Concurrency@@IEAAXXZ(ptr) SpinWait__Reset
 @ stub -arch=arm ?_RunAndWait at _StructuredTaskCollection@details at Concurrency@@QAA?AW4_TaskCollectionStatus at 23@PAV_UnrealizedChore at 23@@Z
 @ stub -arch=i386 ?_RunAndWait at _StructuredTaskCollection@details at Concurrency@@QAG?AW4_TaskCollectionStatus at 23@PAV_UnrealizedChore at 23@@Z
-@ stub -arch=win64 ?_RunAndWait at _StructuredTaskCollection@details at Concurrency@@QEAA?AW4_TaskCollectionStatus at 23@PEAV_UnrealizedChore at 23@@Z
+@ thiscall -arch=win64 ?_RunAndWait at _StructuredTaskCollection@details at Concurrency@@QEAA?AW4_TaskCollectionStatus at 23@PEAV_UnrealizedChore at 23@@Z(ptr ptr) StructuredTaskCollection__RunAndWait
 @ stub -arch=arm ?_RunAndWait at _TaskCollection@details at Concurrency@@QAA?AW4_TaskCollectionStatus at 23@PAV_UnrealizedChore at 23@@Z
 @ stub -arch=i386 ?_RunAndWait at _TaskCollection@details at Concurrency@@QAG?AW4_TaskCollectionStatus at 23@PAV_UnrealizedChore at 23@@Z
 @ stub -arch=win64 ?_RunAndWait at _TaskCollection@details at Concurrency@@QEAA?AW4_TaskCollectionStatus at 23@PEAV_UnrealizedChore at 23@@Z
diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec
index 68a78a6aa16..4b6308193a5 100644
--- a/dlls/msvcr100/msvcr100.spec
+++ b/dlls/msvcr100/msvcr100.spec
@@ -360,7 +360,7 @@
 @ thiscall -arch=win32 ?_Reset@?$_SpinWait@$0A@@details at Concurrency@@IAEXXZ(ptr) SpinWait__Reset
 @ cdecl -arch=win64 ?_Reset@?$_SpinWait@$0A@@details at Concurrency@@IEAAXXZ(ptr) SpinWait__Reset
 @ stub -arch=win32 ?_RunAndWait at _StructuredTaskCollection@details at Concurrency@@QAG?AW4_TaskCollectionStatus at 23@PAV_UnrealizedChore at 23@@Z
-@ stub -arch=win64 ?_RunAndWait at _StructuredTaskCollection@details at Concurrency@@QEAA?AW4_TaskCollectionStatus at 23@PEAV_UnrealizedChore at 23@@Z
+@ thiscall -arch=win64 ?_RunAndWait at _StructuredTaskCollection@details at Concurrency@@QEAA?AW4_TaskCollectionStatus at 23@PEAV_UnrealizedChore at 23@@Z(ptr ptr) StructuredTaskCollection__RunAndWait
 @ stub -arch=win32 ?_RunAndWait at _TaskCollection@details at Concurrency@@QAG?AW4_TaskCollectionStatus at 23@PAV_UnrealizedChore at 23@@Z
 @ stub -arch=win64 ?_RunAndWait at _TaskCollection@details at Concurrency@@QEAA?AW4_TaskCollectionStatus at 23@PEAV_UnrealizedChore at 23@@Z
 @ stub -arch=win32 ?_Schedule at _StructuredTaskCollection@details at Concurrency@@QAEXPAV_UnrealizedChore at 23@@Z
diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec
index 0f5eaf9ac51..64c015b8ab6 100644
--- a/dlls/msvcr110/msvcr110.spec
+++ b/dlls/msvcr110/msvcr110.spec
@@ -610,7 +610,7 @@
 @ cdecl -arch=win64 ?_Reset@?$_SpinWait@$0A@@details at Concurrency@@IEAAXXZ(ptr) SpinWait__Reset
 @ stub -arch=arm ?_RunAndWait at _StructuredTaskCollection@details at Concurrency@@QAA?AW4_TaskCollectionStatus at 23@PAV_UnrealizedChore at 23@@Z
 @ stub -arch=i386 ?_RunAndWait at _StructuredTaskCollection@details at Concurrency@@QAG?AW4_TaskCollectionStatus at 23@PAV_UnrealizedChore at 23@@Z
-@ stub -arch=win64 ?_RunAndWait at _StructuredTaskCollection@details at Concurrency@@QEAA?AW4_TaskCollectionStatus at 23@PEAV_UnrealizedChore at 23@@Z
+@ thiscall -arch=win64 ?_RunAndWait at _StructuredTaskCollection@details at Concurrency@@QEAA?AW4_TaskCollectionStatus at 23@PEAV_UnrealizedChore at 23@@Z(ptr ptr) StructuredTaskCollection__RunAndWait
 @ stub -arch=arm ?_RunAndWait at _TaskCollection@details at Concurrency@@QAA?AW4_TaskCollectionStatus at 23@PAV_UnrealizedChore at 23@@Z
 @ stub -arch=i386 ?_RunAndWait at _TaskCollection@details at Concurrency@@QAG?AW4_TaskCollectionStatus at 23@PAV_UnrealizedChore at 23@@Z
 @ stub -arch=win64 ?_RunAndWait at _TaskCollection@details at Concurrency@@QEAA?AW4_TaskCollectionStatus at 23@PEAV_UnrealizedChore at 23@@Z
diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec
index 332a617932e..46e16257b5d 100644
--- a/dlls/msvcr120/msvcr120.spec
+++ b/dlls/msvcr120/msvcr120.spec
@@ -592,7 +592,7 @@
 @ cdecl -arch=win64 ?_Reset@?$_SpinWait@$0A@@details at Concurrency@@IEAAXXZ(ptr) SpinWait__Reset
 @ stub -arch=arm ?_RunAndWait at _StructuredTaskCollection@details at Concurrency@@QAA?AW4_TaskCollectionStatus at 23@PAV_UnrealizedChore at 23@@Z
 @ stub -arch=i386 ?_RunAndWait at _StructuredTaskCollection@details at Concurrency@@QAG?AW4_TaskCollectionStatus at 23@PAV_UnrealizedChore at 23@@Z
-@ stub -arch=win64 ?_RunAndWait at _StructuredTaskCollection@details at Concurrency@@QEAA?AW4_TaskCollectionStatus at 23@PEAV_UnrealizedChore at 23@@Z
+@ thiscall -arch=win64 ?_RunAndWait at _StructuredTaskCollection@details at Concurrency@@QEAA?AW4_TaskCollectionStatus at 23@PEAV_UnrealizedChore at 23@@Z(ptr ptr) StructuredTaskCollection__RunAndWait
 @ stub -arch=arm ?_RunAndWait at _TaskCollection@details at Concurrency@@QAA?AW4_TaskCollectionStatus at 23@PAV_UnrealizedChore at 23@@Z
 @ stub -arch=i386 ?_RunAndWait at _TaskCollection@details at Concurrency@@QAG?AW4_TaskCollectionStatus at 23@PAV_UnrealizedChore at 23@@Z
 @ stub -arch=win64 ?_RunAndWait at _TaskCollection@details at Concurrency@@QEAA?AW4_TaskCollectionStatus at 23@PEAV_UnrealizedChore at 23@@Z
diff --git a/dlls/msvcr120_app/msvcr120_app.spec b/dlls/msvcr120_app/msvcr120_app.spec
index d70f1423f68..a0628e9e694 100644
--- a/dlls/msvcr120_app/msvcr120_app.spec
+++ b/dlls/msvcr120_app/msvcr120_app.spec
@@ -588,7 +588,7 @@
 @ cdecl -arch=win64 ?_Reset@?$_SpinWait@$0A@@details at Concurrency@@IEAAXXZ(ptr) msvcr120.?_Reset@?$_SpinWait@$0A@@details at Concurrency@@IEAAXXZ
 @ stub -arch=arm ?_RunAndWait at _StructuredTaskCollection@details at Concurrency@@QAA?AW4_TaskCollectionStatus at 23@PAV_UnrealizedChore at 23@@Z
 @ stub -arch=i386 ?_RunAndWait at _StructuredTaskCollection@details at Concurrency@@QAG?AW4_TaskCollectionStatus at 23@PAV_UnrealizedChore at 23@@Z
-@ stub -arch=win64 ?_RunAndWait at _StructuredTaskCollection@details at Concurrency@@QEAA?AW4_TaskCollectionStatus at 23@PEAV_UnrealizedChore at 23@@Z
+@ thiscall -arch=win64 ?_RunAndWait at _StructuredTaskCollection@details at Concurrency@@QEAA?AW4_TaskCollectionStatus at 23@PEAV_UnrealizedChore at 23@@Z(ptr ptr) StructuredTaskCollection__RunAndWait
 @ stub -arch=arm ?_RunAndWait at _TaskCollection@details at Concurrency@@QAA?AW4_TaskCollectionStatus at 23@PAV_UnrealizedChore at 23@@Z
 @ stub -arch=i386 ?_RunAndWait at _TaskCollection@details at Concurrency@@QAG?AW4_TaskCollectionStatus at 23@PAV_UnrealizedChore at 23@@Z
 @ stub -arch=win64 ?_RunAndWait at _TaskCollection@details at Concurrency@@QEAA?AW4_TaskCollectionStatus at 23@PEAV_UnrealizedChore at 23@@Z
diff --git a/dlls/msvcrt/concurrency.c b/dlls/msvcrt/concurrency.c
index fc754c69a2e..72da1593d1d 100644
--- a/dlls/msvcrt/concurrency.c
+++ b/dlls/msvcrt/concurrency.c
@@ -174,6 +174,13 @@ typedef struct cs_queue
 #endif
 } cs_queue;
 
+enum task_collection_status
+{
+    not_complete,
+    completed,
+    cancelled
+};
+
 typedef struct
 {
     int dummy;
@@ -1711,6 +1718,14 @@ bool __thiscall SpinWait__SpinOnce(SpinWait *this)
     }
 }
 
+/* ?_RunAndWait at _StructuredTaskCollection@details at Concurrency@@QEAA?AW4_TaskCollectionStatus at 23@PEAV_UnrealizedChore at 23@@Z */
+DEFINE_THISCALL_WRAPPER(StructuredTaskCollection__RunAndWait, 8)
+enum task_collection_status __thiscall StructuredTaskCollection__RunAndWait(structured_task_collection *this, void *chore)
+{
+    FIXME("(%p %p): stub!\n", this, chore);
+    return not_complete;
+}
+
 /* ?_Schedule at _StructuredTaskCollection@details at Concurrency@@QEAAXPEAV_UnrealizedChore at 23@@Z */
 DEFINE_THISCALL_WRAPPER(StructuredTaskCollection__Schedule, 8)
 void __thiscall StructuredTaskCollection__Schedule(structured_task_collection *this, void *chore)
-- 
2.35.1




More information about the wine-devel mailing list