mirror of
https://github.com/reactos/reactos.git
synced 2024-06-26 07:51:52 +00:00
[NTOS:CC] Wake up lazy scan after inserting elements in the list.
This commit is contained in:
parent
edd4a985d9
commit
6e4f83da70
|
@ -381,16 +381,6 @@ CcCanIWrite (
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
/* Otherwise, if there are no deferred writes yet, start the lazy writer */
|
||||
if (IsListEmpty(&CcDeferredWrites))
|
||||
{
|
||||
KIRQL OldIrql;
|
||||
|
||||
OldIrql = KeAcquireQueuedSpinLock(LockQueueMasterLock);
|
||||
CcScheduleLazyWriteScan(TRUE);
|
||||
KeReleaseQueuedSpinLock(LockQueueMasterLock, OldIrql);
|
||||
}
|
||||
|
||||
/* Initialize our wait event */
|
||||
KeInitializeEvent(&WaitEvent, NotificationEvent, FALSE);
|
||||
|
||||
|
@ -418,6 +408,12 @@ CcCanIWrite (
|
|||
&CcDeferredWriteSpinLock);
|
||||
}
|
||||
|
||||
/* Now make sure that the lazy scan writer will be active */
|
||||
OldIrql = KeAcquireQueuedSpinLock(LockQueueMasterLock);
|
||||
if (!LazyWriter.ScanActive)
|
||||
CcScheduleLazyWriteScan(TRUE);
|
||||
KeReleaseQueuedSpinLock(LockQueueMasterLock, OldIrql);
|
||||
|
||||
#if DBG
|
||||
DPRINT1("Actively deferring write for: %p\n", FileObject);
|
||||
DPRINT1("Because:\n");
|
||||
|
|
Loading…
Reference in a new issue