ntoskrnl.exe: Implement ExAcquireFastMutex and ExReleaseFastMutex.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47044 Signed-off-by: Jacek Caban <jacek@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
40ae0e8455
commit
ed140a7ac5
|
@ -1,3 +1,4 @@
|
|||
@ stdcall -arch=arm,arm64,x86_64 ExAcquireFastMutex(ptr)
|
||||
@ stdcall -fastcall ExAcquireFastMutexUnsafe(ptr)
|
||||
@ stub ExAcquireRundownProtection
|
||||
@ stub ExAcquireRundownProtectionEx
|
||||
|
@ -8,6 +9,7 @@
|
|||
@ stdcall -fastcall -arch=i386 ExInterlockedPopEntrySList(ptr ptr) NTOSKRNL_ExInterlockedPopEntrySList
|
||||
@ stdcall -fastcall -arch=i386 ExInterlockedPushEntrySList (ptr ptr ptr) NTOSKRNL_ExInterlockedPushEntrySList
|
||||
@ stub ExReInitializeRundownProtection
|
||||
@ stdcall -arch=arm,arm64,x86_64 ExReleaseFastMutex(ptr)
|
||||
@ stdcall -fastcall ExReleaseFastMutexUnsafe(ptr)
|
||||
@ stdcall -fastcall ExReleaseResourceLite(ptr)
|
||||
@ stub ExReleaseRundownProtection
|
||||
|
|
|
@ -732,6 +732,28 @@ void FASTCALL ExReleaseFastMutexUnsafe( FAST_MUTEX *mutex )
|
|||
KeSetEvent( &mutex->Event, IO_NO_INCREMENT, FALSE );
|
||||
}
|
||||
|
||||
#ifndef __i386__
|
||||
|
||||
/***********************************************************************
|
||||
* ExAcquireFastMutex (NTOSKRNL.@)
|
||||
*/
|
||||
void WINAPI ExAcquireFastMutex( FAST_MUTEX *mutex )
|
||||
{
|
||||
/* FIXME: lower IRQL */
|
||||
ExAcquireFastMutexUnsafe( mutex );
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* ExReleaseFastMutex (NTOSKRNL.@)
|
||||
*/
|
||||
void WINAPI ExReleaseFastMutex( FAST_MUTEX *mutex )
|
||||
{
|
||||
ExReleaseFastMutexUnsafe( mutex );
|
||||
/* FIXME: restore IRQL */
|
||||
}
|
||||
|
||||
#endif /* __i386__ */
|
||||
|
||||
/* Use of the fields of an ERESOURCE structure seems to vary wildly between
|
||||
* Windows versions. The below implementation uses them as follows:
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue