Index: C:/ROS/reactos/ntoskrnl/cc/view.c =================================================================== --- ntoskrnl/cc/view.c (revision 60261) +++ ntoskrnl/cc/view.c (working copy) @@ -480,11 +480,24 @@ CcRosCacheSegmentIncRefCount(current); KeReleaseSpinLock(&Bcb->BcbLock, oldIrql); KeReleaseGuardedMutex(&ViewLock); - KeWaitForSingleObject(¤t->Mutex, - Executive, - KernelMode, - FALSE, - NULL); + { + INT TimeoutCount = 0; + while (TRUE) + { + LARGE_INTEGER Timeout; + NTSTATUS Status; + Timeout.QuadPart = -10 * 1000 * 1000 * 10; + Status = KeWaitForSingleObject(¤t->Mutex, + Executive, + KernelMode, + FALSE, + &Timeout); + if (Status == STATUS_SUCCESS) + break; + TimeoutCount++; + DPRINT1("Waiting on mutex for cache segment %p for %d seconds\n", current, 10 * TimeoutCount); + } + } return(current); } current_entry = current_entry->Flink;