Author: ros-arm-bringup
Date: Sun Jul 27 19:56:39 2008
New Revision: 34878
URL:
http://svn.reactos.org/svn/reactos?rev=34878&view=rev
Log:
There is no point in saving the address of the address space lock in the address space
structure anymore, since this lock is always the address creation lock of the owner
process,
and there's always an owner process now.
Modified:
trunk/reactos/ntoskrnl/include/internal/mm.h
trunk/reactos/ntoskrnl/mm/aspace.c
Modified: trunk/reactos/ntoskrnl/include/internal/mm.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/include/internal/…
==============================================================================
--- trunk/reactos/ntoskrnl/include/internal/mm.h [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/include/internal/mm.h [iso-8859-1] Sun Jul 27 19:56:39 2008
@@ -253,7 +253,6 @@
typedef struct _MADDRESS_SPACE
{
PMEMORY_AREA MemoryAreaRoot;
- PEX_PUSH_LOCK Lock;
} MADDRESS_SPACE, *PMADDRESS_SPACE;
typedef struct
@@ -1576,14 +1575,14 @@
MmLockAddressSpace(PMADDRESS_SPACE AddressSpace)
{
KeEnterCriticalRegion();
- ExAcquirePushLockExclusive(AddressSpace->Lock);
+ ExAcquirePushLockExclusive((PEX_PUSH_LOCK)&CONTAINING_RECORD(AddressSpace,
EPROCESS, VadRoot)->AddressCreationLock);
}
FORCEINLINE
VOID
MmUnlockAddressSpace(PMADDRESS_SPACE AddressSpace)
{
- ExReleasePushLock(AddressSpace->Lock);
+ ExReleasePushLock((PEX_PUSH_LOCK)&CONTAINING_RECORD(AddressSpace, EPROCESS,
VadRoot)->AddressCreationLock);
KeLeaveCriticalRegion();
}
Modified: trunk/reactos/ntoskrnl/mm/aspace.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/mm/aspace.c?rev=3…
==============================================================================
--- trunk/reactos/ntoskrnl/mm/aspace.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/mm/aspace.c [iso-8859-1] Sun Jul 27 19:56:39 2008
@@ -32,8 +32,6 @@
PMADDRESS_SPACE AddressSpace)
{
AddressSpace->MemoryAreaRoot = NULL;
- AddressSpace->Lock = (PEX_PUSH_LOCK)&Process->AddressCreationLock;
- ExInitializePushLock((PULONG_PTR)AddressSpace->Lock);
return STATUS_SUCCESS;
}