PspUnlockJobMemoryLimitsExclusive

VOID __stdcall PspUnlockJobMemoryLimitsExclusive(_EJOB *Job, _EJOB *Exception, _ETHREAD *CurrentThread){
  _EX_PUSH_LOCK *p_MemoryLimitsLock; 
  if( Job != Exception )
  {
    p_MemoryLimitsLock = &Job->MemoryLimitsLock;
    if( (_InterlockedExchangeAdd64((volatile signed __int64 *)&Job->MemoryLimitsLock, 0xFFFFFFFFFFFFFFFFui64) & 6) == 2 )
      ExfTryToWakePushLock((volatile INT64 *)&Job->MemoryLimitsLock);
    KeAbPostRelease(p_MemoryLimitsLock);
  }
  if( CurrentThread )
    KiLeaveGuardedRegionUnsafe((__int64)CurrentThread);
}

Referenced by:

NtSetInformationJobObject
PspChangeJobMemoryUsageByProcess
PspJobClose