Commit 90c0807a authored by Piotr Caban's avatar Piotr Caban Committed by Alexandre Julliard

msvcp110: Add _Mtx_clear_owner implementation.

parent bd0d5dea
...@@ -3817,7 +3817,7 @@ ...@@ -3817,7 +3817,7 @@
@ extern _LZero @ extern _LZero
@ cdecl _Lock_shared_ptr_spin_lock() @ cdecl _Lock_shared_ptr_spin_lock()
@ cdecl _Mbrtowc(ptr ptr long ptr ptr) @ cdecl _Mbrtowc(ptr ptr long ptr ptr)
@ stub _Mtx_clear_owner @ cdecl _Mtx_clear_owner(ptr)
@ cdecl _Mtx_current_owns(ptr) @ cdecl _Mtx_current_owns(ptr)
@ cdecl _Mtx_destroy(ptr) @ cdecl _Mtx_destroy(ptr)
@ cdecl _Mtx_getconcrtcs(ptr) @ cdecl _Mtx_getconcrtcs(ptr)
......
...@@ -3762,7 +3762,7 @@ ...@@ -3762,7 +3762,7 @@
@ extern _LZero @ extern _LZero
@ cdecl _Lock_shared_ptr_spin_lock() @ cdecl _Lock_shared_ptr_spin_lock()
@ cdecl _Mbrtowc(ptr ptr long ptr ptr) @ cdecl _Mbrtowc(ptr ptr long ptr ptr)
@ stub _Mtx_clear_owner @ cdecl _Mtx_clear_owner(ptr)
@ cdecl _Mtx_current_owns(ptr) @ cdecl _Mtx_current_owns(ptr)
@ cdecl _Mtx_destroy(ptr) @ cdecl _Mtx_destroy(ptr)
@ cdecl _Mtx_getconcrtcs(ptr) @ cdecl _Mtx_getconcrtcs(ptr)
......
...@@ -3762,7 +3762,7 @@ ...@@ -3762,7 +3762,7 @@
@ extern _LZero msvcp120._LZero @ extern _LZero msvcp120._LZero
@ cdecl _Lock_shared_ptr_spin_lock() msvcp120._Lock_shared_ptr_spin_lock @ cdecl _Lock_shared_ptr_spin_lock() msvcp120._Lock_shared_ptr_spin_lock
@ cdecl _Mbrtowc(ptr ptr long ptr ptr) msvcp120._Mbrtowc @ 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_current_owns(ptr) msvcp120._Mtx_current_owns
@ cdecl _Mtx_destroy(ptr) msvcp120._Mtx_destroy @ cdecl _Mtx_destroy(ptr) msvcp120._Mtx_destroy
@ cdecl _Mtx_getconcrtcs(ptr) msvcp120._Mtx_getconcrtcs @ cdecl _Mtx_getconcrtcs(ptr) msvcp120._Mtx_getconcrtcs
......
...@@ -3672,18 +3672,18 @@ ...@@ -3672,18 +3672,18 @@
@ cdecl _Lstat(wstr ptr) @ cdecl _Lstat(wstr ptr)
@ cdecl _Make_dir(wstr) tr2_sys__Make_dir_wchar @ cdecl _Make_dir(wstr) tr2_sys__Make_dir_wchar
@ cdecl _Mbrtowc(ptr ptr long ptr ptr) @ cdecl _Mbrtowc(ptr ptr long ptr ptr)
@ stub _Mtx_clear_owner @ cdecl _Mtx_clear_owner(ptr)
@ cdecl _Mtx_current_owns(ptr) _Mtx_current_owns @ cdecl _Mtx_current_owns(ptr)
@ cdecl _Mtx_destroy(ptr) _Mtx_destroy @ cdecl _Mtx_destroy(ptr)
@ cdecl _Mtx_destroy_in_situ(ptr) _Mtx_destroy_in_situ @ cdecl _Mtx_destroy_in_situ(ptr)
@ cdecl _Mtx_getconcrtcs(ptr) _Mtx_getconcrtcs @ cdecl _Mtx_getconcrtcs(ptr)
@ cdecl _Mtx_init(ptr long) _Mtx_init @ cdecl _Mtx_init(ptr long)
@ cdecl _Mtx_init_in_situ(ptr long) _Mtx_init_in_situ @ cdecl _Mtx_init_in_situ(ptr long)
@ cdecl _Mtx_lock(ptr) _Mtx_lock @ cdecl _Mtx_lock(ptr)
@ stub _Mtx_reset_owner @ stub _Mtx_reset_owner
@ stub _Mtx_timedlock @ stub _Mtx_timedlock
@ cdecl _Mtx_trylock(ptr) _Mtx_trylock @ cdecl _Mtx_trylock(ptr)
@ cdecl _Mtx_unlock(ptr) _Mtx_unlock @ cdecl _Mtx_unlock(ptr)
@ stub _Mtxdst @ stub _Mtxdst
@ stub _Mtxinit @ stub _Mtxinit
@ stub _Mtxlock @ stub _Mtxlock
......
...@@ -807,6 +807,13 @@ critical_section* __cdecl _Mtx_getconcrtcs(_Mtx_arg_t mtx) ...@@ -807,6 +807,13 @@ critical_section* __cdecl _Mtx_getconcrtcs(_Mtx_arg_t mtx)
return &MTX_T_FROM_ARG(mtx)->cs; 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 ) static inline LONG interlocked_dec_if_nonzero( LONG *dest )
{ {
LONG val, tmp; LONG val, tmp;
......
...@@ -3672,7 +3672,7 @@ ...@@ -3672,7 +3672,7 @@
@ cdecl _Lstat(wstr ptr) msvcp140._Lstat @ cdecl _Lstat(wstr ptr) msvcp140._Lstat
@ cdecl _Make_dir(wstr) msvcp140._Make_dir @ cdecl _Make_dir(wstr) msvcp140._Make_dir
@ cdecl _Mbrtowc(ptr ptr long ptr ptr) msvcp140._Mbrtowc @ 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_current_owns(ptr) msvcp140._Mtx_current_owns
@ cdecl _Mtx_destroy(ptr) msvcp140._Mtx_destroy @ cdecl _Mtx_destroy(ptr) msvcp140._Mtx_destroy
@ cdecl _Mtx_destroy_in_situ(ptr) msvcp140._Mtx_destroy_in_situ @ cdecl _Mtx_destroy_in_situ(ptr) msvcp140._Mtx_destroy_in_situ
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment