X-Git-Url: https://git.reactos.org/?p=reactos.git;a=blobdiff_plain;f=reactos%2Fntoskrnl%2Fcc%2Fpin.c;h=6a0d6758caf758eb657f68e5b994c5611691edee;hp=9159745fb08378422927b42bfd01f327de2f2ab5;hb=5203dd99be35a6849d51bd89895dac4c49d7258b;hpb=45fe0d3a21b98a964a225386ae88220b38674bd2 diff --git a/reactos/ntoskrnl/cc/pin.c b/reactos/ntoskrnl/cc/pin.c index 9159745fb08..6a0d6758caf 100644 --- a/reactos/ntoskrnl/cc/pin.c +++ b/reactos/ntoskrnl/cc/pin.c @@ -185,10 +185,8 @@ CcPinRead ( ASSERT(iBcb->Pinned == FALSE); iBcb->Pinned = TRUE; - if (InterlockedIncrement(&iBcb->Vacb->PinCount) == 1) - { - CcRosReleaseVacbLock(iBcb->Vacb); - } + iBcb->Vacb->PinCount++; + CcRosReleaseVacbLock(iBcb->Vacb); if (Flags & PIN_EXCLUSIVE) { @@ -281,10 +279,8 @@ CcUnpinDataForThread ( { ExReleaseResourceForThreadLite(&iBcb->Lock, ResourceThreadId); iBcb->Pinned = FALSE; - if (InterlockedDecrement(&iBcb->Vacb->PinCount) == 0) - { - CcRosAcquireVacbLock(iBcb->Vacb, NULL); - } + CcRosAcquireVacbLock(iBcb->Vacb, NULL); + iBcb->Vacb->PinCount--; } CcRosReleaseVacb(iBcb->Vacb->SharedCacheMap, @@ -355,10 +351,8 @@ CcUnpinRepinnedBcb ( { ExReleaseResourceLite(&iBcb->Lock); iBcb->Pinned = FALSE; - if (InterlockedDecrement(&iBcb->Vacb->PinCount) == 0) - { - CcRosAcquireVacbLock(iBcb->Vacb, NULL); - } + CcRosAcquireVacbLock(iBcb->Vacb, NULL); + iBcb->Vacb->PinCount--; } ExDeleteResourceLite(&iBcb->Lock); ExFreeToNPagedLookasideList(&iBcbLookasideList, iBcb);