ntoskrnl.exe: Implement KeReleaseSpinLockFromDpcLevel().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
fbe23bdd99
commit
a1dfdfaf22
|
@ -594,7 +594,7 @@
|
||||||
@ stdcall KeReleaseMutex(ptr long)
|
@ stdcall KeReleaseMutex(ptr long)
|
||||||
@ stdcall KeReleaseSemaphore(ptr long long long)
|
@ stdcall KeReleaseSemaphore(ptr long long long)
|
||||||
@ stdcall -arch=arm,arm64,x86_64 KeReleaseSpinLock(ptr long)
|
@ stdcall -arch=arm,arm64,x86_64 KeReleaseSpinLock(ptr long)
|
||||||
@ stub KeReleaseSpinLockFromDpcLevel
|
@ stdcall KeReleaseSpinLockFromDpcLevel(ptr)
|
||||||
@ stub KeRemoveByKeyDeviceQueue
|
@ stub KeRemoveByKeyDeviceQueue
|
||||||
@ stub KeRemoveByKeyDeviceQueueIfBusy
|
@ stub KeRemoveByKeyDeviceQueueIfBusy
|
||||||
@ stub KeRemoveDeviceQueue
|
@ stub KeRemoveDeviceQueue
|
||||||
|
|
|
@ -386,7 +386,6 @@ void WINAPI KeInitializeSpinLock( KSPIN_LOCK *lock )
|
||||||
*lock = 0;
|
*lock = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef __i386__
|
|
||||||
static inline void small_pause(void)
|
static inline void small_pause(void)
|
||||||
{
|
{
|
||||||
#ifdef __x86_64__
|
#ifdef __x86_64__
|
||||||
|
@ -396,6 +395,16 @@ static inline void small_pause(void)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* KeReleaseSpinLockFromDpcLevel (NTOSKRNL.EXE.@)
|
||||||
|
*/
|
||||||
|
void WINAPI KeReleaseSpinLockFromDpcLevel( KSPIN_LOCK *lock )
|
||||||
|
{
|
||||||
|
TRACE("lock %p.\n", lock);
|
||||||
|
InterlockedExchangePointer( (void **)lock, 0 );
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifndef __i386__
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* KeReleaseSpinLock (NTOSKRNL.EXE.@)
|
* KeReleaseSpinLock (NTOSKRNL.EXE.@)
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1443,6 +1443,7 @@ ULONG WINAPI KeQueryTimeIncrement(void);
|
||||||
LONG WINAPI KeReleaseMutex(PRKMUTEX,BOOLEAN);
|
LONG WINAPI KeReleaseMutex(PRKMUTEX,BOOLEAN);
|
||||||
LONG WINAPI KeReleaseSemaphore(PRKSEMAPHORE,KPRIORITY,LONG,BOOLEAN);
|
LONG WINAPI KeReleaseSemaphore(PRKSEMAPHORE,KPRIORITY,LONG,BOOLEAN);
|
||||||
void WINAPI KeReleaseSpinLock(KSPIN_LOCK*,KIRQL);
|
void WINAPI KeReleaseSpinLock(KSPIN_LOCK*,KIRQL);
|
||||||
|
void WINAPI KeReleaseSpinLockFromDpcLevel(KSPIN_LOCK*);
|
||||||
LONG WINAPI KeResetEvent(PRKEVENT);
|
LONG WINAPI KeResetEvent(PRKEVENT);
|
||||||
LONG WINAPI KeSetEvent(PRKEVENT,KPRIORITY,BOOLEAN);
|
LONG WINAPI KeSetEvent(PRKEVENT,KPRIORITY,BOOLEAN);
|
||||||
KPRIORITY WINAPI KeSetPriorityThread(PKTHREAD,KPRIORITY);
|
KPRIORITY WINAPI KeSetPriorityThread(PKTHREAD,KPRIORITY);
|
||||||
|
|
Loading…
Reference in New Issue