Module: wine Branch: master Commit: 90c0807a87f97afe95c0a75b252361622f8ec9f3 URL: https://source.winehq.org/git/wine.git/?a=commit;h=90c0807a87f97afe95c0a75b2...
Author: Piotr Caban piotr@codeweavers.com Date: Tue Mar 15 14:36:41 2022 +0100
msvcp110: Add _Mtx_clear_owner implementation.
Signed-off-by: Piotr Caban piotr@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/msvcp110/msvcp110.spec | 2 +- dlls/msvcp120/msvcp120.spec | 2 +- dlls/msvcp120_app/msvcp120_app.spec | 2 +- dlls/msvcp140/msvcp140.spec | 20 ++++++++++---------- dlls/msvcp90/misc.c | 7 +++++++ dlls/msvcp_win/msvcp_win.spec | 2 +- 6 files changed, 21 insertions(+), 14 deletions(-)
diff --git a/dlls/msvcp110/msvcp110.spec b/dlls/msvcp110/msvcp110.spec index 514bc90b5e7..5eec1a003e0 100644 --- a/dlls/msvcp110/msvcp110.spec +++ b/dlls/msvcp110/msvcp110.spec @@ -3817,7 +3817,7 @@ @ extern _LZero @ cdecl _Lock_shared_ptr_spin_lock() @ cdecl _Mbrtowc(ptr ptr long ptr ptr) -@ stub _Mtx_clear_owner +@ cdecl _Mtx_clear_owner(ptr) @ cdecl _Mtx_current_owns(ptr) @ cdecl _Mtx_destroy(ptr) @ cdecl _Mtx_getconcrtcs(ptr) diff --git a/dlls/msvcp120/msvcp120.spec b/dlls/msvcp120/msvcp120.spec index 6f868e190a9..18e13be46b8 100644 --- a/dlls/msvcp120/msvcp120.spec +++ b/dlls/msvcp120/msvcp120.spec @@ -3762,7 +3762,7 @@ @ extern _LZero @ cdecl _Lock_shared_ptr_spin_lock() @ cdecl _Mbrtowc(ptr ptr long ptr ptr) -@ stub _Mtx_clear_owner +@ cdecl _Mtx_clear_owner(ptr) @ cdecl _Mtx_current_owns(ptr) @ cdecl _Mtx_destroy(ptr) @ cdecl _Mtx_getconcrtcs(ptr) diff --git a/dlls/msvcp120_app/msvcp120_app.spec b/dlls/msvcp120_app/msvcp120_app.spec index 0de36db8b36..72cdd258bd0 100644 --- a/dlls/msvcp120_app/msvcp120_app.spec +++ b/dlls/msvcp120_app/msvcp120_app.spec @@ -3762,7 +3762,7 @@ @ extern _LZero msvcp120._LZero @ cdecl _Lock_shared_ptr_spin_lock() msvcp120._Lock_shared_ptr_spin_lock @ cdecl _Mbrtowc(ptr ptr long ptr ptr) msvcp120._Mbrtowc -@ stub _Mtx_clear_owner +@ cdecl _Mtx_clear_owner(ptr) msvcp120._Mtx_clear_owner @ cdecl _Mtx_current_owns(ptr) msvcp120._Mtx_current_owns @ cdecl _Mtx_destroy(ptr) msvcp120._Mtx_destroy @ cdecl _Mtx_getconcrtcs(ptr) msvcp120._Mtx_getconcrtcs diff --git a/dlls/msvcp140/msvcp140.spec b/dlls/msvcp140/msvcp140.spec index 3945a4bfbd4..05b5b0feac3 100644 --- a/dlls/msvcp140/msvcp140.spec +++ b/dlls/msvcp140/msvcp140.spec @@ -3672,18 +3672,18 @@ @ cdecl _Lstat(wstr ptr) @ cdecl _Make_dir(wstr) tr2_sys__Make_dir_wchar @ cdecl _Mbrtowc(ptr ptr long ptr ptr) -@ stub _Mtx_clear_owner -@ cdecl _Mtx_current_owns(ptr) _Mtx_current_owns -@ cdecl _Mtx_destroy(ptr) _Mtx_destroy -@ cdecl _Mtx_destroy_in_situ(ptr) _Mtx_destroy_in_situ -@ cdecl _Mtx_getconcrtcs(ptr) _Mtx_getconcrtcs -@ cdecl _Mtx_init(ptr long) _Mtx_init -@ cdecl _Mtx_init_in_situ(ptr long) _Mtx_init_in_situ -@ cdecl _Mtx_lock(ptr) _Mtx_lock +@ cdecl _Mtx_clear_owner(ptr) +@ cdecl _Mtx_current_owns(ptr) +@ cdecl _Mtx_destroy(ptr) +@ cdecl _Mtx_destroy_in_situ(ptr) +@ cdecl _Mtx_getconcrtcs(ptr) +@ cdecl _Mtx_init(ptr long) +@ cdecl _Mtx_init_in_situ(ptr long) +@ cdecl _Mtx_lock(ptr) @ stub _Mtx_reset_owner @ stub _Mtx_timedlock -@ cdecl _Mtx_trylock(ptr) _Mtx_trylock -@ cdecl _Mtx_unlock(ptr) _Mtx_unlock +@ cdecl _Mtx_trylock(ptr) +@ cdecl _Mtx_unlock(ptr) @ stub _Mtxdst @ stub _Mtxinit @ stub _Mtxlock diff --git a/dlls/msvcp90/misc.c b/dlls/msvcp90/misc.c index 0ed75e233d8..ef1f292f37e 100644 --- a/dlls/msvcp90/misc.c +++ b/dlls/msvcp90/misc.c @@ -807,6 +807,13 @@ critical_section* __cdecl _Mtx_getconcrtcs(_Mtx_arg_t mtx) return &MTX_T_FROM_ARG(mtx)->cs; }
+void __cdecl _Mtx_clear_owner(_Mtx_arg_t mtx) +{ + _Mtx_t m = MTX_T_FROM_ARG(mtx); + m->thread_id = -1; + m->count--; +} + static inline LONG interlocked_dec_if_nonzero( LONG *dest ) { LONG val, tmp; diff --git a/dlls/msvcp_win/msvcp_win.spec b/dlls/msvcp_win/msvcp_win.spec index c6ca765f158..fb6fd5cd1c2 100644 --- a/dlls/msvcp_win/msvcp_win.spec +++ b/dlls/msvcp_win/msvcp_win.spec @@ -3672,7 +3672,7 @@ @ cdecl _Lstat(wstr ptr) msvcp140._Lstat @ cdecl _Make_dir(wstr) msvcp140._Make_dir @ cdecl _Mbrtowc(ptr ptr long ptr ptr) msvcp140._Mbrtowc -@ stub _Mtx_clear_owner +@ cdecl _Mtx_clear_owner(ptr) msvcp140._Mtx_clear_owner @ cdecl _Mtx_current_owns(ptr) msvcp140._Mtx_current_owns @ cdecl _Mtx_destroy(ptr) msvcp140._Mtx_destroy @ cdecl _Mtx_destroy_in_situ(ptr) msvcp140._Mtx_destroy_in_situ