[PATCH v2] msvcr100: Add Concurrency::wait stub.

Gijs Vermeulen gijsvrm at gmail.com
Thu Sep 6 15:13:04 CDT 2018


Signed-off-by: Gijs Vermeulen <gijsvrm at gmail.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/lock.c                  | 10 ++++++++++
 6 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/dlls/concrt140/concrt140.spec b/dlls/concrt140/concrt140.spec
index 7fe53b5d73..406a50569f 100644
--- a/dlls/concrt140/concrt140.spec
+++ b/dlls/concrt140/concrt140.spec
@@ -516,7 +516,7 @@
 @ cdecl -arch=win64 ?unlock at critical_section@Concurrency@@QEAAXXZ(ptr) msvcr120.?unlock at critical_section@Concurrency@@QEAAXXZ
 @ thiscall -arch=win32 ?unlock at reader_writer_lock@Concurrency@@QAEXXZ(ptr) msvcr120.?unlock at reader_writer_lock@Concurrency@@QAEXXZ
 @ cdecl -arch=win64 ?unlock at reader_writer_lock@Concurrency@@QEAAXXZ(ptr) msvcr120.?unlock at reader_writer_lock@Concurrency@@QEAAXXZ
-@ stub ?wait at Concurrency@@YAXI at Z
+@ cdecl ?wait at Concurrency@@YAXI at Z(long) msvcr120.?wait at Concurrency@@YAXI at Z
 @ thiscall -arch=i386 ?wait at _Condition_variable@details at Concurrency@@QAEXAAVcritical_section at 3@@Z(ptr ptr) msvcr120.?wait at _Condition_variable@details at Concurrency@@QAEXAAVcritical_section at 3@@Z
 @ cdecl -arch=win64 ?wait at _Condition_variable@details at Concurrency@@QEAAXAEAVcritical_section at 3@@Z(ptr ptr) msvcr120.?wait at _Condition_variable@details at Concurrency@@QEAAXAEAVcritical_section at 3@@Z
 @ stub -arch=win32 ?wait at agent@Concurrency@@SA?AW4agent_status at 2@PAV12 at I@Z
diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec
index 88698ca5c3..15e88e2391 100644
--- a/dlls/msvcr100/msvcr100.spec
+++ b/dlls/msvcr100/msvcr100.spec
@@ -496,7 +496,7 @@
 @ thiscall -arch=win32 ?unlock at reader_writer_lock@Concurrency@@QAEXXZ(ptr) reader_writer_lock_unlock
 @ cdecl -arch=win64 ?unlock at reader_writer_lock@Concurrency@@QEAAXXZ(ptr) reader_writer_lock_unlock
 @ cdecl ?vswprintf@@YAHPA_WIPB_WPAD at Z(ptr long wstr ptr) MSVCRT_vsnwprintf
-@ stub ?wait at Concurrency@@YAXI at Z
+@ cdecl ?wait at Concurrency@@YAXI at Z(long) Concurrency_wait
 @ thiscall -arch=win32 ?wait at event@Concurrency@@QAEII at Z(ptr) event_wait
 @ cdecl -arch=win64 ?wait at event@Concurrency@@QEAA_KI at Z(ptr) event_wait
 @ cdecl -arch=win32 ?wait_for_multiple at event@Concurrency@@SAIPAPAV12 at I_NI@Z(ptr long long long) event_wait_for_multiple
diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec
index 3d116c4ec8..cd7b625d28 100644
--- a/dlls/msvcr110/msvcr110.spec
+++ b/dlls/msvcr110/msvcr110.spec
@@ -808,7 +808,7 @@
 @ thiscall -arch=win32 ?unlock at reader_writer_lock@Concurrency@@QAEXXZ(ptr) reader_writer_lock_unlock
 @ cdecl -arch=win64 ?unlock at reader_writer_lock@Concurrency@@QEAAXXZ(ptr) reader_writer_lock_unlock
 @ cdecl ?vswprintf@@YAHPA_WIPB_WPAD at Z(ptr long wstr ptr) MSVCRT_vsnwprintf
-@ stub ?wait at Concurrency@@YAXI at Z
+@ cdecl ?wait at Concurrency@@YAXI at Z(long) Concurrency_wait
 @ cdecl -arch=arm ?wait at _Condition_variable@details at Concurrency@@QAAXAAVcritical_section at 3@@Z(ptr ptr) _Condition_variable_wait
 @ thiscall -arch=i386 ?wait at _Condition_variable@details at Concurrency@@QAEXAAVcritical_section at 3@@Z(ptr ptr) _Condition_variable_wait
 @ cdecl -arch=win64 ?wait at _Condition_variable@details at Concurrency@@QEAAXAEAVcritical_section at 3@@Z(ptr ptr) _Condition_variable_wait
diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec
index f317d1f8b3..44f728ba0a 100644
--- a/dlls/msvcr120/msvcr120.spec
+++ b/dlls/msvcr120/msvcr120.spec
@@ -790,7 +790,7 @@
 @ thiscall -arch=win32 ?unlock at reader_writer_lock@Concurrency@@QAEXXZ(ptr) reader_writer_lock_unlock
 @ cdecl -arch=win64 ?unlock at reader_writer_lock@Concurrency@@QEAAXXZ(ptr) reader_writer_lock_unlock
 @ cdecl ?vswprintf@@YAHPA_WIPB_WPAD at Z(ptr long wstr ptr) MSVCRT_vsnwprintf
-@ stub ?wait at Concurrency@@YAXI at Z
+@ cdecl ?wait at Concurrency@@YAXI at Z(long) Concurrency_wait
 @ cdecl -arch=arm ?wait at _Condition_variable@details at Concurrency@@QAAXAAVcritical_section at 3@@Z(ptr ptr) _Condition_variable_wait
 @ thiscall -arch=i386 ?wait at _Condition_variable@details at Concurrency@@QAEXAAVcritical_section at 3@@Z(ptr ptr) _Condition_variable_wait
 @ cdecl -arch=win64 ?wait at _Condition_variable@details at Concurrency@@QEAAXAEAVcritical_section at 3@@Z(ptr ptr) _Condition_variable_wait
diff --git a/dlls/msvcr120_app/msvcr120_app.spec b/dlls/msvcr120_app/msvcr120_app.spec
index 0f5d143089..935de2b2b2 100644
--- a/dlls/msvcr120_app/msvcr120_app.spec
+++ b/dlls/msvcr120_app/msvcr120_app.spec
@@ -786,7 +786,7 @@
 @ thiscall -arch=win32 ?unlock at reader_writer_lock@Concurrency@@QAEXXZ(ptr) msvcr120.?unlock at reader_writer_lock@Concurrency@@QAEXXZ
 @ cdecl -arch=win64 ?unlock at reader_writer_lock@Concurrency@@QEAAXXZ(ptr) msvcr120.?unlock at reader_writer_lock@Concurrency@@QEAAXXZ
 @ cdecl ?vswprintf@@YAHPA_WIPB_WPAD at Z(ptr long wstr ptr) msvcr120.?vswprintf@@YAHPA_WIPB_WPAD at Z
-@ stub ?wait at Concurrency@@YAXI at Z
+@ cdecl ?wait at Concurrency@@YAXI at Z(long) msvcr120.?wait at Concurrency@@YAXI at Z
 @ cdecl -arch=arm ?wait at _Condition_variable@details at Concurrency@@QAAXAAVcritical_section at 3@@Z(ptr ptr) msvcr120.?wait at _Condition_variable@details at Concurrency@@QAAXAAVcritical_section at 3@@Z
 @ thiscall -arch=i386 ?wait at _Condition_variable@details at Concurrency@@QAEXAAVcritical_section at 3@@Z(ptr ptr) msvcr120.?wait at _Condition_variable@details at Concurrency@@QAEXAAVcritical_section at 3@@Z
 @ cdecl -arch=win64 ?wait at _Condition_variable@details at Concurrency@@QEAAXAEAVcritical_section at 3@@Z(ptr ptr) msvcr120.?wait at _Condition_variable@details at Concurrency@@QEAAXAEAVcritical_section at 3@@Z
diff --git a/dlls/msvcrt/lock.c b/dlls/msvcrt/lock.c
index 177fc2a17c..4646126537 100644
--- a/dlls/msvcrt/lock.c
+++ b/dlls/msvcrt/lock.c
@@ -1404,6 +1404,16 @@ MSVCRT_bool __thiscall _ReentrantBlockingLock__TryAcquire(_ReentrantBlockingLock
     TRACE("(%p)\n", this);
     return TryEnterCriticalSection(&this->cs);
 }
+
+/* ?wait at Concurrency@@YAXI at Z */
+void __cdecl Concurrency_wait(unsigned int time)
+{
+    static int once;
+
+    if (!once++) FIXME("(%d) stub!\n", time);
+
+    Sleep(time);
+}
 #endif
 
 #if _MSVCR_VER == 110
-- 
2.16.4




More information about the wine-devel mailing list