Acquire dispatcher lock if we're going to be expanding the owner table,
so that we don't enter a race condition with the boost code in the wait
for resource code on SMP systems
Modified: trunk/reactos/ntoskrnl/ex/resource.c
_____
Modified: trunk/reactos/ntoskrnl/ex/resource.c
--- trunk/reactos/ntoskrnl/ex/resource.c 2006-01-13 00:16:51 UTC
(rev 20825)
+++ trunk/reactos/ntoskrnl/ex/resource.c 2006-01-13 00:18:21 UTC
(rev 20826)
@@ -304,7 +304,7 @@
OldSize * sizeof(OWNER_ENTRY));
/* Acquire dispatcher lock to prevent thread boosting */
- //KeAcquireDispatcherDatabaseLockAtDpcLevel();
+ KeAcquireDispatcherDatabaseLockAtDpcLevel();
/* Set the new table data */
Table->TableSize = NewSize;
@@ -314,7 +314,7 @@
ExpVerifyResource(Resource);
/* Release locks */
- //KeReleaseDispatcherDatabaseLockFromDpcLevel();
+ KeReleaseDispatcherDatabaseLockFromDpcLevel();
ExReleaseResourceLock(&Resource->SpinLock, *OldIrql);
/* Free the old table */