From 2caea04e87d04ca33016272ce1abf0f1e1ac3bdc Mon Sep 17 00:00:00 2001 From: Aleksey Bragin Date: Tue, 25 Dec 2007 13:15:52 +0000 Subject: [PATCH] - 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 --- reactos/ntoskrnl/config/cminit.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/reactos/ntoskrnl/config/cminit.c b/reactos/ntoskrnl/config/cminit.c index 8ec8826e6d9..4bb538ffc08 100644 --- a/reactos/ntoskrnl/config/cminit.c +++ b/reactos/ntoskrnl/config/cminit.c @@ -119,10 +119,12 @@ CmpInitializeHive(OUT PCMHIVE *RegistryHive, if (!Hive->ViewLock) return STATUS_INSUFFICIENT_RESOURCES; /* Allocate the flush lock */ +#if 0 Hive->FlusherLock = ExAllocatePoolWithTag(NonPagedPool, sizeof(ERESOURCE), TAG_CM); if (!Hive->FlusherLock) return STATUS_INSUFFICIENT_RESOURCES; +#endif /* Setup the handles */ Hive->FileHandles[HFILE_TYPE_PRIMARY] = Primary; @@ -134,7 +136,7 @@ CmpInitializeHive(OUT PCMHIVE *RegistryHive, Hive->ViewLockOwner = NULL; /* Initialize the flush lock */ - ExInitializeResourceLite(Hive->FlusherLock); + ExInitializePushLock((PULONG_PTR)&Hive->FlusherLock); /* Setup hive locks */ ExInitializePushLock((PULONG_PTR)&Hive->HiveLock); @@ -187,7 +189,9 @@ CmpInitializeHive(OUT PCMHIVE *RegistryHive, { /* Clear allocations and fail */ ExFreePool(Hive->ViewLock); +#if 0 ExFreePool(Hive->FlusherLock); +#endif ExFreePool(Hive); return Status; } @@ -203,7 +207,9 @@ CmpInitializeHive(OUT PCMHIVE *RegistryHive, { /* Free all alocations */ ExFreePool(Hive->ViewLock); +#if 0 ExFreePool(Hive->FlusherLock); +#endif ExFreePool(Hive); return STATUS_REGISTRY_CORRUPT; }