diff --git a/dlls/msvcp110/msvcp110.spec b/dlls/msvcp110/msvcp110.spec index 5eec1a003e0..2de95bf94ef 100644 --- a/dlls/msvcp110/msvcp110.spec +++ b/dlls/msvcp110/msvcp110.spec @@ -3823,7 +3823,7 @@ @ cdecl _Mtx_getconcrtcs(ptr) @ cdecl _Mtx_init(ptr long) @ cdecl _Mtx_lock(ptr) -@ stub _Mtx_reset_owner +@ cdecl _Mtx_reset_owner(ptr) @ stub _Mtx_timedlock @ cdecl _Mtx_trylock(ptr) @ cdecl _Mtx_unlock(ptr) diff --git a/dlls/msvcp120/msvcp120.spec b/dlls/msvcp120/msvcp120.spec index 18e13be46b8..e0adc83113f 100644 --- a/dlls/msvcp120/msvcp120.spec +++ b/dlls/msvcp120/msvcp120.spec @@ -3768,7 +3768,7 @@ @ cdecl _Mtx_getconcrtcs(ptr) @ cdecl _Mtx_init(ptr long) @ cdecl _Mtx_lock(ptr) -@ stub _Mtx_reset_owner +@ cdecl _Mtx_reset_owner(ptr) @ stub _Mtx_timedlock @ cdecl _Mtx_trylock(ptr) @ cdecl _Mtx_unlock(ptr) diff --git a/dlls/msvcp120_app/msvcp120_app.spec b/dlls/msvcp120_app/msvcp120_app.spec index 72cdd258bd0..dd8e3ebf173 100644 --- a/dlls/msvcp120_app/msvcp120_app.spec +++ b/dlls/msvcp120_app/msvcp120_app.spec @@ -3768,7 +3768,7 @@ @ cdecl _Mtx_getconcrtcs(ptr) msvcp120._Mtx_getconcrtcs @ cdecl _Mtx_init(ptr long) msvcp120._Mtx_init @ cdecl _Mtx_lock(ptr) msvcp120._Mtx_lock -@ stub _Mtx_reset_owner +@ cdecl _Mtx_reset_owner(ptr) msvcp120._Mtx_reset_owner @ stub _Mtx_timedlock @ cdecl _Mtx_trylock(ptr) msvcp120._Mtx_trylock @ cdecl _Mtx_unlock(ptr) msvcp120._Mtx_unlock diff --git a/dlls/msvcp140/msvcp140.spec b/dlls/msvcp140/msvcp140.spec index 05b5b0feac3..3de0318a4d5 100644 --- a/dlls/msvcp140/msvcp140.spec +++ b/dlls/msvcp140/msvcp140.spec @@ -3680,7 +3680,7 @@ @ cdecl _Mtx_init(ptr long) @ cdecl _Mtx_init_in_situ(ptr long) @ cdecl _Mtx_lock(ptr) -@ stub _Mtx_reset_owner +@ cdecl _Mtx_reset_owner(ptr) @ stub _Mtx_timedlock @ cdecl _Mtx_trylock(ptr) @ cdecl _Mtx_unlock(ptr) diff --git a/dlls/msvcp90/misc.c b/dlls/msvcp90/misc.c index ef1f292f37e..18f05311a05 100644 --- a/dlls/msvcp90/misc.c +++ b/dlls/msvcp90/misc.c @@ -814,6 +814,13 @@ void __cdecl _Mtx_clear_owner(_Mtx_arg_t mtx) m->count--; } +void __cdecl _Mtx_reset_owner(_Mtx_arg_t mtx) +{ + _Mtx_t m = MTX_T_FROM_ARG(mtx); + m->thread_id = GetCurrentThreadId(); + 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 fb6fd5cd1c2..a15fb5c7ee3 100644 --- a/dlls/msvcp_win/msvcp_win.spec +++ b/dlls/msvcp_win/msvcp_win.spec @@ -3680,7 +3680,7 @@ @ cdecl _Mtx_init(ptr long) msvcp140._Mtx_init @ cdecl _Mtx_init_in_situ(ptr long) msvcp140._Mtx_init_in_situ @ cdecl _Mtx_lock(ptr) msvcp140._Mtx_lock -@ stub _Mtx_reset_owner +@ cdecl _Mtx_reset_owner(ptr) msvcp140._Mtx_reset_owner @ stub _Mtx_timedlock @ cdecl _Mtx_trylock(ptr) msvcp140._Mtx_trylock @ cdecl _Mtx_unlock(ptr) msvcp140._Mtx_unlock