Signed-off-by: Stefan Dösinger stefan@codeweavers.com --- dlls/msvcp110/msvcp110.spec | 8 ++++---- dlls/msvcp120/msvcp120.spec | 8 ++++---- dlls/msvcp120_app/msvcp120_app.spec | 8 ++++---- dlls/msvcp140/msvcp140.spec | 6 +++--- 4 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/dlls/msvcp110/msvcp110.spec b/dlls/msvcp110/msvcp110.spec index 7cf350e0c0..001b9add3e 100644 --- a/dlls/msvcp110/msvcp110.spec +++ b/dlls/msvcp110/msvcp110.spec @@ -3858,11 +3858,11 @@ @ stub _Thrd_abort @ cdecl _Thrd_create(ptr ptr ptr) @ cdecl _Thrd_current() -@ cdecl _Thrd_detach(ptr) -@ cdecl _Thrd_equal(ptr ptr) +@ cdecl _Thrd_detach(int64) +@ cdecl _Thrd_equal(int64 int64) @ stub _Thrd_exit -@ cdecl _Thrd_join(ptr long) -@ cdecl _Thrd_lt(ptr ptr) +@ cdecl _Thrd_join(int64 long) +@ cdecl _Thrd_lt(int64 int64) @ cdecl _Thrd_sleep(ptr) @ cdecl _Thrd_start(ptr ptr ptr) @ cdecl _Thrd_yield() diff --git a/dlls/msvcp120/msvcp120.spec b/dlls/msvcp120/msvcp120.spec index 5285adafb8..729657c24e 100644 --- a/dlls/msvcp120/msvcp120.spec +++ b/dlls/msvcp120/msvcp120.spec @@ -3805,11 +3805,11 @@ @ stub _Thrd_abort @ cdecl _Thrd_create(ptr ptr ptr) @ cdecl _Thrd_current() -@ cdecl _Thrd_detach(ptr) -@ cdecl _Thrd_equal(ptr ptr) +@ cdecl _Thrd_detach(int64) +@ cdecl _Thrd_equal(int64 int64) @ stub _Thrd_exit -@ cdecl _Thrd_join(ptr long) -@ cdecl _Thrd_lt(ptr ptr) +@ cdecl _Thrd_join(int64 long) +@ cdecl _Thrd_lt(int64 int64) @ cdecl _Thrd_sleep(ptr) @ cdecl _Thrd_start(ptr ptr ptr) @ cdecl _Thrd_yield() diff --git a/dlls/msvcp120_app/msvcp120_app.spec b/dlls/msvcp120_app/msvcp120_app.spec index f33a2ec78e..62668d21f1 100644 --- a/dlls/msvcp120_app/msvcp120_app.spec +++ b/dlls/msvcp120_app/msvcp120_app.spec @@ -3805,11 +3805,11 @@ @ stub _Thrd_abort @ cdecl _Thrd_create(ptr ptr ptr) msvcp120._Thrd_create @ cdecl _Thrd_current() msvcp120._Thrd_current -@ cdecl _Thrd_detach(ptr) msvcp120._Thrd_detach -@ cdecl _Thrd_equal(ptr ptr) msvcp120._Thrd_equal +@ cdecl _Thrd_detach(int64) msvcp120._Thrd_detach +@ cdecl _Thrd_equal(int64 int64) msvcp120._Thrd_equal @ stub _Thrd_exit -@ cdecl _Thrd_join(ptr long) msvcp120._Thrd_join -@ cdecl _Thrd_lt(ptr ptr) msvcp120._Thrd_lt +@ cdecl _Thrd_join(int64 long) msvcp120._Thrd_join +@ cdecl _Thrd_lt(int64 int64) msvcp120._Thrd_lt @ cdecl _Thrd_sleep(ptr) msvcp120._Thrd_sleep @ cdecl _Thrd_start(ptr ptr ptr) msvcp120._Thrd_start @ cdecl _Thrd_yield() msvcp120._Thrd_yield diff --git a/dlls/msvcp140/msvcp140.spec b/dlls/msvcp140/msvcp140.spec index 1f61afb550..5d5518115b 100644 --- a/dlls/msvcp140/msvcp140.spec +++ b/dlls/msvcp140/msvcp140.spec @@ -3722,12 +3722,12 @@ @ stub _Thrd_abort @ cdecl _Thrd_create(ptr ptr ptr) _Thrd_create @ cdecl _Thrd_current() _Thrd_current -@ cdecl _Thrd_detach(ptr) _Thrd_detach -@ cdecl _Thrd_equal(ptr ptr) _Thrd_equal +@ cdecl _Thrd_detach(int64) _Thrd_detach +@ cdecl _Thrd_equal(int64 int64) _Thrd_equal @ stub _Thrd_exit @ cdecl _Thrd_hardware_concurrency() _Thrd_hardware_concurrency @ cdecl _Thrd_id() _Thrd_id -@ cdecl _Thrd_join(ptr long) _Thrd_join +@ cdecl _Thrd_join(int64 long) _Thrd_join @ cdecl _Thrd_sleep(ptr) _Thrd_sleep @ cdecl _Thrd_start(ptr ptr ptr) _Thrd_start @ cdecl _Thrd_yield() _Thrd_yield
This prevents sign extending it when promoting it to ULONGLONG. This fixes high CPU usage in Wargaming Game Center that was caused by _Cnd_timedwait instantly returning timeout instead of waiting for the requested 30 days.
Signed-off-by: Stefan Dösinger stefan@codeweavers.com --- dlls/msvcp90/misc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/msvcp90/misc.c b/dlls/msvcp90/misc.c index 901930ba96..162c9dfc85 100644 --- a/dlls/msvcp90/misc.c +++ b/dlls/msvcp90/misc.c @@ -635,7 +635,7 @@ int __cdecl _Cnd_timedwait(_Cnd_arg_t cnd, _Mtx_arg_t mtx, const xtime *xt) InterlockedExchangeAdd( (LONG *)&cv->Ptr, 1 ); _Mtx_unlock(mtx);
- timeout.QuadPart = (ULONGLONG)_Xtime_diff_to_millis(xt) * -10000; + timeout.QuadPart = (ULONGLONG)((ULONG)_Xtime_diff_to_millis(xt)) * -10000; status = NtWaitForKeyedEvent(keyed_event, &cv->Ptr, FALSE, &timeout); if (status) {
Signed-off-by: Piotr Caban piotr@codeweavers.com