Commit a1dfdfaf authored by Zebediah Figura's avatar Zebediah Figura Committed by Alexandre Julliard

ntoskrnl.exe: Implement KeReleaseSpinLockFromDpcLevel().

parent fbe23bdd
......@@ -594,7 +594,7 @@
@ stdcall KeReleaseMutex(ptr long)
@ stdcall KeReleaseSemaphore(ptr long long long)
@ stdcall -arch=arm,arm64,x86_64 KeReleaseSpinLock(ptr long)
@ stub KeReleaseSpinLockFromDpcLevel
@ stdcall KeReleaseSpinLockFromDpcLevel(ptr)
@ stub KeRemoveByKeyDeviceQueue
@ stub KeRemoveByKeyDeviceQueueIfBusy
@ stub KeRemoveDeviceQueue
......
......@@ -386,7 +386,6 @@ void WINAPI KeInitializeSpinLock( KSPIN_LOCK *lock )
*lock = 0;
}
#ifndef __i386__
static inline void small_pause(void)
{
#ifdef __x86_64__
......@@ -397,6 +396,16 @@ static inline void small_pause(void)
}
/***********************************************************************
* KeReleaseSpinLockFromDpcLevel (NTOSKRNL.EXE.@)
*/
void WINAPI KeReleaseSpinLockFromDpcLevel( KSPIN_LOCK *lock )
{
TRACE("lock %p.\n", lock);
InterlockedExchangePointer( (void **)lock, 0 );
}
#ifndef __i386__
/***********************************************************************
* KeReleaseSpinLock (NTOSKRNL.EXE.@)
*/
void WINAPI KeReleaseSpinLock( KSPIN_LOCK *lock, KIRQL irql )
......
......@@ -1443,6 +1443,7 @@ ULONG WINAPI KeQueryTimeIncrement(void);
LONG WINAPI KeReleaseMutex(PRKMUTEX,BOOLEAN);
LONG WINAPI KeReleaseSemaphore(PRKSEMAPHORE,KPRIORITY,LONG,BOOLEAN);
void WINAPI KeReleaseSpinLock(KSPIN_LOCK*,KIRQL);
void WINAPI KeReleaseSpinLockFromDpcLevel(KSPIN_LOCK*);
LONG WINAPI KeResetEvent(PRKEVENT);
LONG WINAPI KeSetEvent(PRKEVENT,KPRIORITY,BOOLEAN);
KPRIORITY WINAPI KeSetPriorityThread(PKTHREAD,KPRIORITY);
......
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