ExReleaseCacheAwarePushLockExclusive
VOID __stdcall ExReleaseCacheAwarePushLockExclusive(_EX_PUSH_LOCK_CACHE_AWARE_LEGACY *PushLock){
_EX_PUSH_LOCK_CACHE_AWARE_LEGACY *v1;
volatile signed __int64 **v3;
_EX_PUSH_LOCK *v4;
v1 = PushLock + 64;
v3 = (volatile signed __int64 **)PushLock;
if( PushLock < PushLock + 64 )
{
do
{
v4 = (_EX_PUSH_LOCK *)*v3;
if( (_InterlockedExchangeAdd64(*v3, 0xFFFFFFFFFFFFFFFFui64) & 6) == 2 )
ExfTryToWakePushLock(v4);
++v3;
}
while( v3 < (volatile signed __int64 **)v1 );
}
KeAbPostRelease(PushLock);
}Referenced by:
No references.