ntoskrnl.exe: Implement KeReleaseSpinLock().

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Zebediah Figura 2019-01-23 23:50:35 -06:00 committed by Alexandre Julliard
parent fa6f56b361
commit 55463d4aa8
3 changed files with 12 additions and 9 deletions

View File

@ -3863,14 +3863,6 @@ KIRQL WINAPI KeAcquireSpinLockRaiseToDpc(KSPIN_LOCK *spinlock)
return 0;
}
/***********************************************************************
* KeReleaseSpinLock (NTOSKRNL.EXE.@)
*/
void WINAPI KeReleaseSpinLock( KSPIN_LOCK *spinlock, KIRQL irql )
{
FIXME( "stub: %p %u\n", spinlock, irql );
}
/***********************************************************************
* IoCreateNotificationEvent (NTOSKRNL.EXE.@)
*/

View File

@ -593,7 +593,7 @@
@ stub KeReleaseMutant
@ stdcall KeReleaseMutex(ptr long)
@ stdcall KeReleaseSemaphore(ptr long long long)
@ stdcall KeReleaseSpinLock(ptr long)
@ stdcall -arch=arm,arm64,x86_64 KeReleaseSpinLock(ptr long)
@ stub KeReleaseSpinLockFromDpcLevel
@ stub KeRemoveByKeyDeviceQueue
@ stub KeRemoveByKeyDeviceQueueIfBusy

View File

@ -382,3 +382,14 @@ void WINAPI KeInitializeSpinLock( KSPIN_LOCK *lock )
TRACE("lock %p.\n", lock);
*lock = 0;
}
#ifndef __i386__
/***********************************************************************
* KeReleaseSpinLock (NTOSKRNL.EXE.@)
*/
void WINAPI KeReleaseSpinLock( KSPIN_LOCK *lock, KIRQL irql )
{
TRACE("lock %p, irql %u.\n", lock, irql);
InterlockedExchangePointer( (void **)lock, 0 );
}
#endif