- Initialize FlusherLock as a pushlock, not as an Ex-resource (it's used as a pushlock in the code now).

svn path=/trunk/; revision=31432
This commit is contained in:
Aleksey Bragin 2007-12-25 13:15:52 +00:00
parent aebd438db0
commit 2caea04e87

View file

@ -119,10 +119,12 @@ CmpInitializeHive(OUT PCMHIVE *RegistryHive,
if (!Hive->ViewLock) return STATUS_INSUFFICIENT_RESOURCES; if (!Hive->ViewLock) return STATUS_INSUFFICIENT_RESOURCES;
/* Allocate the flush lock */ /* Allocate the flush lock */
#if 0
Hive->FlusherLock = ExAllocatePoolWithTag(NonPagedPool, Hive->FlusherLock = ExAllocatePoolWithTag(NonPagedPool,
sizeof(ERESOURCE), sizeof(ERESOURCE),
TAG_CM); TAG_CM);
if (!Hive->FlusherLock) return STATUS_INSUFFICIENT_RESOURCES; if (!Hive->FlusherLock) return STATUS_INSUFFICIENT_RESOURCES;
#endif
/* Setup the handles */ /* Setup the handles */
Hive->FileHandles[HFILE_TYPE_PRIMARY] = Primary; Hive->FileHandles[HFILE_TYPE_PRIMARY] = Primary;
@ -134,7 +136,7 @@ CmpInitializeHive(OUT PCMHIVE *RegistryHive,
Hive->ViewLockOwner = NULL; Hive->ViewLockOwner = NULL;
/* Initialize the flush lock */ /* Initialize the flush lock */
ExInitializeResourceLite(Hive->FlusherLock); ExInitializePushLock((PULONG_PTR)&Hive->FlusherLock);
/* Setup hive locks */ /* Setup hive locks */
ExInitializePushLock((PULONG_PTR)&Hive->HiveLock); ExInitializePushLock((PULONG_PTR)&Hive->HiveLock);
@ -187,7 +189,9 @@ CmpInitializeHive(OUT PCMHIVE *RegistryHive,
{ {
/* Clear allocations and fail */ /* Clear allocations and fail */
ExFreePool(Hive->ViewLock); ExFreePool(Hive->ViewLock);
#if 0
ExFreePool(Hive->FlusherLock); ExFreePool(Hive->FlusherLock);
#endif
ExFreePool(Hive); ExFreePool(Hive);
return Status; return Status;
} }
@ -203,7 +207,9 @@ CmpInitializeHive(OUT PCMHIVE *RegistryHive,
{ {
/* Free all alocations */ /* Free all alocations */
ExFreePool(Hive->ViewLock); ExFreePool(Hive->ViewLock);
#if 0
ExFreePool(Hive->FlusherLock); ExFreePool(Hive->FlusherLock);
#endif
ExFreePool(Hive); ExFreePool(Hive);
return STATUS_REGISTRY_CORRUPT; return STATUS_REGISTRY_CORRUPT;
} }