Commit ed140a7a authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

ntoskrnl.exe: Implement ExAcquireFastMutex and ExReleaseFastMutex.

parent 40ae0e84
@ stdcall -arch=arm,arm64,x86_64 ExAcquireFastMutex(ptr)
@ stdcall -fastcall ExAcquireFastMutexUnsafe(ptr) @ stdcall -fastcall ExAcquireFastMutexUnsafe(ptr)
@ stub ExAcquireRundownProtection @ stub ExAcquireRundownProtection
@ stub ExAcquireRundownProtectionEx @ stub ExAcquireRundownProtectionEx
...@@ -8,6 +9,7 @@ ...@@ -8,6 +9,7 @@
@ stdcall -fastcall -arch=i386 ExInterlockedPopEntrySList(ptr ptr) NTOSKRNL_ExInterlockedPopEntrySList @ stdcall -fastcall -arch=i386 ExInterlockedPopEntrySList(ptr ptr) NTOSKRNL_ExInterlockedPopEntrySList
@ stdcall -fastcall -arch=i386 ExInterlockedPushEntrySList (ptr ptr ptr) NTOSKRNL_ExInterlockedPushEntrySList @ stdcall -fastcall -arch=i386 ExInterlockedPushEntrySList (ptr ptr ptr) NTOSKRNL_ExInterlockedPushEntrySList
@ stub ExReInitializeRundownProtection @ stub ExReInitializeRundownProtection
@ stdcall -arch=arm,arm64,x86_64 ExReleaseFastMutex(ptr)
@ stdcall -fastcall ExReleaseFastMutexUnsafe(ptr) @ stdcall -fastcall ExReleaseFastMutexUnsafe(ptr)
@ stdcall -fastcall ExReleaseResourceLite(ptr) @ stdcall -fastcall ExReleaseResourceLite(ptr)
@ stub ExReleaseRundownProtection @ stub ExReleaseRundownProtection
......
...@@ -732,6 +732,28 @@ void FASTCALL ExReleaseFastMutexUnsafe( FAST_MUTEX *mutex ) ...@@ -732,6 +732,28 @@ void FASTCALL ExReleaseFastMutexUnsafe( FAST_MUTEX *mutex )
KeSetEvent( &mutex->Event, IO_NO_INCREMENT, FALSE ); 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 /* Use of the fields of an ERESOURCE structure seems to vary wildly between
* Windows versions. The below implementation uses them as follows: * Windows versions. The below implementation uses them as follows:
* *
......
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