msvcp: Fix _Lockit::_Lockit_ctor and _Lockit::_Lockit_dtor implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
0d9d816fc3
commit
2513b09c3c
|
@ -1108,10 +1108,10 @@
|
|||
@ cdecl -arch=win64 ?_Lockit_ctor@_Lockit@std@@CAXPEAV12@@Z(ptr) _Lockit__Lockit_ctor
|
||||
@ cdecl -arch=win32 ?_Lockit_ctor@_Lockit@std@@CAXPAV12@H@Z(ptr long) _Lockit__Lockit_ctor_locktype
|
||||
@ cdecl -arch=win64 ?_Lockit_ctor@_Lockit@std@@CAXPEAV12@H@Z(ptr long) _Lockit__Lockit_ctor_locktype
|
||||
@ cdecl ?_Lockit_ctor@_Lockit@std@@SAXH@Z(long) _Lockit_init
|
||||
@ cdecl ?_Lockit_ctor@_Lockit@std@@SAXH@Z(long) _Lockit__Lockit_ctor_lock
|
||||
@ cdecl -arch=win32 ?_Lockit_dtor@_Lockit@std@@CAXPAV12@@Z(ptr) _Lockit__Lockit_dtor
|
||||
@ cdecl -arch=win64 ?_Lockit_dtor@_Lockit@std@@CAXPEAV12@@Z(ptr) _Lockit__Lockit_dtor
|
||||
@ cdecl ?_Lockit_dtor@_Lockit@std@@SAXH@Z(long) _Lockit_free
|
||||
@ cdecl ?_Lockit_dtor@_Lockit@std@@SAXH@Z(long) _Lockit__Lockit_dtor_unlock
|
||||
@ stub -arch=win32 ?_MP_Add@tr1@std@@YAXQA_K_K@Z
|
||||
@ stub -arch=win64 ?_MP_Add@tr1@std@@YAXQEA_K_K@Z
|
||||
@ stub -arch=win32 ?_MP_Get@tr1@std@@YA_KQA_K@Z
|
||||
|
|
|
@ -1601,10 +1601,10 @@
|
|||
@ cdecl -arch=win64 ?_Lockit_ctor@_Lockit@std@@CAXPEAV12@@Z(ptr) _Lockit__Lockit_ctor
|
||||
@ cdecl -arch=win32 ?_Lockit_ctor@_Lockit@std@@CAXPAV12@H@Z(ptr long) _Lockit__Lockit_ctor_locktype
|
||||
@ cdecl -arch=win64 ?_Lockit_ctor@_Lockit@std@@CAXPEAV12@H@Z(ptr long) _Lockit__Lockit_ctor_locktype
|
||||
@ cdecl ?_Lockit_ctor@_Lockit@std@@SAXH@Z(long) _Lockit_init
|
||||
@ cdecl ?_Lockit_ctor@_Lockit@std@@SAXH@Z(long) _Lockit__Lockit_ctor_lock
|
||||
@ cdecl -arch=win32 ?_Lockit_dtor@_Lockit@std@@CAXPAV12@@Z(ptr) _Lockit__Lockit_dtor
|
||||
@ cdecl -arch=win64 ?_Lockit_dtor@_Lockit@std@@CAXPEAV12@@Z(ptr) _Lockit__Lockit_dtor
|
||||
@ cdecl ?_Lockit_dtor@_Lockit@std@@SAXH@Z(long) _Lockit_free
|
||||
@ cdecl ?_Lockit_dtor@_Lockit@std@@SAXH@Z(long) _Lockit__Lockit_dtor_unlock
|
||||
@ cdecl -arch=win32 ?_Lstat@sys@tr2@std@@YA?AW4file_type@123@PBDAAH@Z(str ptr) tr2_sys__Lstat
|
||||
@ cdecl -arch=win64 ?_Lstat@sys@tr2@std@@YA?AW4file_type@123@PEBDAEAH@Z(str ptr) tr2_sys__Lstat
|
||||
@ cdecl -arch=win32 ?_Lstat@sys@tr2@std@@YA?AW4file_type@123@PB_WAAH@Z(wstr ptr) tr2_sys__Lstat_wchar
|
||||
|
|
|
@ -1562,10 +1562,10 @@
|
|||
@ cdecl -arch=win64 ?_Lockit_ctor@_Lockit@std@@CAXPEAV12@@Z(ptr) _Lockit__Lockit_ctor
|
||||
@ cdecl -arch=win32 ?_Lockit_ctor@_Lockit@std@@CAXPAV12@H@Z(ptr long) _Lockit__Lockit_ctor_locktype
|
||||
@ cdecl -arch=win64 ?_Lockit_ctor@_Lockit@std@@CAXPEAV12@H@Z(ptr long) _Lockit__Lockit_ctor_locktype
|
||||
@ cdecl ?_Lockit_ctor@_Lockit@std@@SAXH@Z(long) _Lockit_init
|
||||
@ cdecl ?_Lockit_ctor@_Lockit@std@@SAXH@Z(long) _Lockit__Lockit_ctor_lock
|
||||
@ cdecl -arch=win32 ?_Lockit_dtor@_Lockit@std@@CAXPAV12@@Z(ptr) _Lockit__Lockit_dtor
|
||||
@ cdecl -arch=win64 ?_Lockit_dtor@_Lockit@std@@CAXPEAV12@@Z(ptr) _Lockit__Lockit_dtor
|
||||
@ cdecl ?_Lockit_dtor@_Lockit@std@@SAXH@Z(long) _Lockit_free
|
||||
@ cdecl ?_Lockit_dtor@_Lockit@std@@SAXH@Z(long) _Lockit__Lockit_dtor_unlock
|
||||
@ cdecl -arch=win32 ?_Lstat@sys@tr2@std@@YA?AW4file_type@123@PBDAAH@Z(str ptr) tr2_sys__Lstat
|
||||
@ cdecl -arch=win64 ?_Lstat@sys@tr2@std@@YA?AW4file_type@123@PEBDAEAH@Z(str ptr) tr2_sys__Lstat
|
||||
@ cdecl -arch=win32 ?_Lstat@sys@tr2@std@@YA?AW4file_type@123@PB_WAAH@Z(wstr ptr) tr2_sys__Lstat_wchar
|
||||
|
|
|
@ -1471,10 +1471,10 @@
|
|||
@ cdecl -arch=win32 ?_Lockit_ctor@_Lockit@std@@CAXPAV12@H@Z(ptr long) _Lockit__Lockit_ctor_locktype
|
||||
@ cdecl -arch=win64 ?_Lockit_ctor@_Lockit@std@@CAXPEAV12@@Z(ptr) _Lockit__Lockit_ctor
|
||||
@ cdecl -arch=win64 ?_Lockit_ctor@_Lockit@std@@CAXPEAV12@H@Z(ptr long) _Lockit__Lockit_ctor_locktype
|
||||
@ cdecl ?_Lockit_ctor@_Lockit@std@@SAXH@Z(long) _Lockit_init
|
||||
@ cdecl ?_Lockit_ctor@_Lockit@std@@SAXH@Z(long) _Lockit__Lockit_ctor_lock
|
||||
@ cdecl -arch=win32 ?_Lockit_dtor@_Lockit@std@@CAXPAV12@@Z(ptr) _Lockit__Lockit_dtor
|
||||
@ cdecl -arch=win64 ?_Lockit_dtor@_Lockit@std@@CAXPEAV12@@Z(ptr) _Lockit__Lockit_dtor
|
||||
@ cdecl ?_Lockit_dtor@_Lockit@std@@SAXH@Z(long) _Lockit_free
|
||||
@ cdecl ?_Lockit_dtor@_Lockit@std@@SAXH@Z(long) _Lockit__Lockit_dtor_unlock
|
||||
@ cdecl -arch=arm ?_LogCancelTask@_TaskEventLogger@details@Concurrency@@QAAXXZ(ptr) _TaskEventLogger__LogCancelTask
|
||||
@ thiscall -arch=i386 ?_LogCancelTask@_TaskEventLogger@details@Concurrency@@QAEXXZ(ptr) _TaskEventLogger__LogCancelTask
|
||||
@ cdecl -arch=win64 ?_LogCancelTask@_TaskEventLogger@details@Concurrency@@QEAAXXZ(ptr) _TaskEventLogger__LogCancelTask
|
||||
|
|
|
@ -2586,10 +2586,10 @@
|
|||
@ cdecl -arch=win64 ?_Lockit_ctor@_Lockit@std@@CAXPEAV12@@Z(ptr) _Lockit__Lockit_ctor
|
||||
@ cdecl -arch=win32 ?_Lockit_ctor@_Lockit@std@@CAXPAV12@H@Z(ptr long) _Lockit__Lockit_ctor_locktype
|
||||
@ cdecl -arch=win64 ?_Lockit_ctor@_Lockit@std@@CAXPEAV12@H@Z(ptr long) _Lockit__Lockit_ctor_locktype
|
||||
@ cdecl ?_Lockit_ctor@_Lockit@std@@SAXH@Z(long) _Lockit_init
|
||||
@ cdecl ?_Lockit_ctor@_Lockit@std@@SAXH@Z(long) _Lockit__Lockit_ctor_lock
|
||||
@ cdecl -arch=win32 ?_Lockit_dtor@_Lockit@std@@CAXPAV12@@Z(ptr) _Lockit__Lockit_dtor
|
||||
@ cdecl -arch=win64 ?_Lockit_dtor@_Lockit@std@@CAXPEAV12@@Z(ptr) _Lockit__Lockit_dtor
|
||||
@ cdecl ?_Lockit_dtor@_Lockit@std@@SAXH@Z(long) _Lockit_free
|
||||
@ cdecl ?_Lockit_dtor@_Lockit@std@@SAXH@Z(long) _Lockit__Lockit_dtor_unlock
|
||||
@ cdecl -arch=win32 ?_Makeloc@_Locimp@locale@std@@CAPAV123@ABV_Locinfo@3@HPAV123@PBV23@@Z(ptr long ptr ptr) locale__Locimp__Makeloc
|
||||
@ cdecl -arch=win64 ?_Makeloc@_Locimp@locale@std@@CAPEAV123@AEBV_Locinfo@3@HPEAV123@PEBV23@@Z(ptr long ptr ptr) locale__Locimp__Makeloc
|
||||
@ cdecl -arch=win32 ?_Makeushloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z(ptr long ptr ptr) locale__Locimp__Makeushloc
|
||||
|
|
|
@ -330,6 +330,26 @@ void CDECL mutex_mutex_dtor(mutex *m)
|
|||
|
||||
static CRITICAL_SECTION lockit_cs[_MAX_LOCK];
|
||||
|
||||
void init_lockit(void) {
|
||||
int i;
|
||||
|
||||
for(i=0; i<_MAX_LOCK; i++)
|
||||
{
|
||||
InitializeCriticalSection(&lockit_cs[i]);
|
||||
lockit_cs[i].DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": _Lockit critical section");
|
||||
}
|
||||
}
|
||||
|
||||
void free_lockit(void) {
|
||||
int i;
|
||||
|
||||
for(i=0; i<_MAX_LOCK; i++)
|
||||
{
|
||||
lockit_cs[i].DebugInfo->Spare[0] = 0;
|
||||
DeleteCriticalSection(&lockit_cs[i]);
|
||||
}
|
||||
}
|
||||
|
||||
#if _MSVCP_VER >= 70
|
||||
static inline int get_locktype( _Lockit *lockit ) { return lockit->locktype; }
|
||||
static inline void set_locktype( _Lockit *lockit, int type ) { lockit->locktype = type; }
|
||||
|
@ -339,30 +359,9 @@ static inline void set_locktype( _Lockit *lockit, int type ) { }
|
|||
#endif
|
||||
|
||||
/* ?_Lockit_ctor@_Lockit@std@@SAXH@Z */
|
||||
void __cdecl _Lockit_init(int locktype) {
|
||||
InitializeCriticalSection(&lockit_cs[locktype]);
|
||||
lockit_cs[locktype].DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": _Lockit critical section");
|
||||
}
|
||||
|
||||
/* ?_Lockit_dtor@_Lockit@std@@SAXH@Z */
|
||||
void __cdecl _Lockit_free(int locktype)
|
||||
void __cdecl _Lockit__Lockit_ctor_lock(int locktype)
|
||||
{
|
||||
lockit_cs[locktype].DebugInfo->Spare[0] = 0;
|
||||
DeleteCriticalSection(&lockit_cs[locktype]);
|
||||
}
|
||||
|
||||
void init_lockit(void) {
|
||||
int i;
|
||||
|
||||
for(i=0; i<_MAX_LOCK; i++)
|
||||
_Lockit_init(i);
|
||||
}
|
||||
|
||||
void free_lockit(void) {
|
||||
int i;
|
||||
|
||||
for(i=0; i<_MAX_LOCK; i++)
|
||||
_Lockit_free(i);
|
||||
EnterCriticalSection(&lockit_cs[locktype]);
|
||||
}
|
||||
|
||||
/* ?_Lockit_ctor@_Lockit@std@@CAXPAV12@H@Z */
|
||||
|
@ -370,7 +369,7 @@ void free_lockit(void) {
|
|||
void __cdecl _Lockit__Lockit_ctor_locktype(_Lockit *lockit, int locktype)
|
||||
{
|
||||
set_locktype( lockit, locktype );
|
||||
EnterCriticalSection(&lockit_cs[locktype]);
|
||||
_Lockit__Lockit_ctor_lock(locktype);
|
||||
}
|
||||
|
||||
/* ?_Lockit_ctor@_Lockit@std@@CAXPAV12@@Z */
|
||||
|
@ -398,11 +397,17 @@ _Lockit* __thiscall _Lockit_ctor(_Lockit *this)
|
|||
return this;
|
||||
}
|
||||
|
||||
/* ?_Lockit_dtor@_Lockit@std@@SAXH@Z */
|
||||
void __cdecl _Lockit__Lockit_dtor_unlock(int locktype)
|
||||
{
|
||||
LeaveCriticalSection(&lockit_cs[locktype]);
|
||||
}
|
||||
|
||||
/* ?_Lockit_dtor@_Lockit@std@@CAXPAV12@@Z */
|
||||
/* ?_Lockit_dtor@_Lockit@std@@CAXPEAV12@@Z */
|
||||
void __cdecl _Lockit__Lockit_dtor(_Lockit *lockit)
|
||||
{
|
||||
LeaveCriticalSection(&lockit_cs[get_locktype( lockit )]);
|
||||
_Lockit__Lockit_dtor_unlock(get_locktype( lockit ));
|
||||
}
|
||||
|
||||
/* ??1_Lockit@std@@QAE@XZ */
|
||||
|
|
|
@ -2913,10 +2913,10 @@
|
|||
@ cdecl -arch=win64 ?_Lockit_ctor@_Lockit@std@@CAXPEAV12@@Z(ptr) _Lockit__Lockit_ctor
|
||||
@ cdecl -arch=win32 ?_Lockit_ctor@_Lockit@std@@CAXPAV12@H@Z(ptr long) _Lockit__Lockit_ctor_locktype
|
||||
@ cdecl -arch=win64 ?_Lockit_ctor@_Lockit@std@@CAXPEAV12@H@Z(ptr long) _Lockit__Lockit_ctor_locktype
|
||||
@ cdecl ?_Lockit_ctor@_Lockit@std@@SAXH@Z(long) _Lockit_init
|
||||
@ cdecl ?_Lockit_ctor@_Lockit@std@@SAXH@Z(long) _Lockit__Lockit_ctor_lock
|
||||
@ cdecl -arch=win32 ?_Lockit_dtor@_Lockit@std@@CAXPAV12@@Z(ptr) _Lockit__Lockit_dtor
|
||||
@ cdecl -arch=win64 ?_Lockit_dtor@_Lockit@std@@CAXPEAV12@@Z(ptr) _Lockit__Lockit_dtor
|
||||
@ cdecl ?_Lockit_dtor@_Lockit@std@@SAXH@Z(long) _Lockit_free
|
||||
@ cdecl ?_Lockit_dtor@_Lockit@std@@SAXH@Z(long) _Lockit__Lockit_dtor_unlock
|
||||
@ stub -arch=win32 ?_MP_Add@tr1@std@@YAXQA_K_K@Z
|
||||
@ stub -arch=win64 ?_MP_Add@tr1@std@@YAXQEA_K_K@Z
|
||||
@ stub -arch=win32 ?_MP_Get@tr1@std@@YA_KQA_K@Z
|
||||
|
|
Loading…
Reference in New Issue