Interlocked add/sub for quota. Still disabled code.

svn path=/trunk/; revision=29853
This commit is contained in:
Mike Nordell 2007-10-24 13:33:19 +00:00
parent 5005dede1c
commit 443c699ba3

View file

@ -85,7 +85,8 @@ PsChargeProcessPageFileQuota(IN PEPROCESS Process,
refuse refuse
} }
*/ */
Process->QuotaUsage[2] += Amount; InterlockedExchangeAdd((LONG*)&Process->QuotaUsage[2], Amount);
/* Note: possibility for race. */
if (Process->QuotaPeak[2] < Process->QuotaUsage[2]) if (Process->QuotaPeak[2] < Process->QuotaUsage[2])
{ {
Process->QuotaPeak[2] = Process->QuotaUsage[2]; Process->QuotaPeak[2] = Process->QuotaUsage[2];
@ -202,7 +203,8 @@ PsChargeProcessPoolQuota(IN PEPROCESS Process,
refuse refuse
} }
*/ */
Process->QuotaUsage[PoolIndex] += Amount; InterlockedExchangeAdd((LONG*)&Process->QuotaUsage[PoolIndex], Amount);
/* Note: possibility for race. */
if (Process->QuotaPeak[PoolIndex] < Process->QuotaUsage[PoolIndex]) if (Process->QuotaPeak[PoolIndex] < Process->QuotaUsage[PoolIndex])
{ {
Process->QuotaPeak[PoolIndex] = Process->QuotaUsage[PoolIndex]; Process->QuotaPeak[PoolIndex] = Process->QuotaUsage[PoolIndex];
@ -240,7 +242,7 @@ PsReturnPoolQuota(IN PEPROCESS Process,
} }
else else
{ {
Process->QuotaUsage[PoolIndex] -= Amount; InterlockedExchangeAdd((LONG*)&Process->QuotaUsage[PoolIndex], -Amount);
} }
} }
#else #else
@ -301,7 +303,7 @@ PsReturnProcessPageFileQuota(IN PEPROCESS Process,
} }
else else
{ {
Process->QuotaUsage[2] -= Amount; InterlockedExchangeAdd((LONG*)&Process->QuotaUsage[2], -Amount);
} }
} }
#else #else