- Reverted incorrect code.

svn path=/trunk/; revision=5341
This commit is contained in:
David Welch 2003-07-31 11:16:10 +00:00
parent bbb0ecb401
commit 0b78b457fc

View file

@ -1,4 +1,4 @@
/* $Id: pool.c,v 1.20 2003/07/31 01:44:17 royce Exp $ /* $Id: pool.c,v 1.21 2003/07/31 11:16:10 dwelch Exp $
* *
* COPYRIGHT: See COPYING in the top level directory * COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel * PROJECT: ReactOS kernel
@ -24,31 +24,21 @@
/* FUNCTIONS ***************************************************************/ /* FUNCTIONS ***************************************************************/
PVOID STDCALL STATIC PVOID STDCALL STATIC
EiAllocatePool( EiAllocatePool(POOL_TYPE PoolType,
POOL_TYPE PoolType, ULONG NumberOfBytes,
ULONG NumberOfBytes, ULONG Tag,
ULONG Tag, PVOID Caller)
PVOID Caller)
{ {
PVOID Block; PVOID Block;
BOOL CacheAligned = FALSE;
BOOL MustSucceed = FALSE; if (PoolType == NonPagedPoolCacheAligned ||
static const ULONG nCacheAlignBytes = 31; PoolType == NonPagedPoolCacheAlignedMustS)
{
if ( PoolType == NonPagedPoolCacheAligned UNIMPLEMENTED;
|| PoolType == NonPagedPoolCacheAlignedMustS }
|| PoolType == PagedPoolCacheAligned )
{ switch(PoolType)
CacheAligned = TRUE; {
NumberOfBytes += nCacheAlignBytes;
}
if ( PoolType == NonPagedPoolMustSucceed
|| PoolType == NonPagedPoolCacheAlignedMustS )
MustSucceed = TRUE;
switch ( PoolType )
{
case NonPagedPool: case NonPagedPool:
case NonPagedPoolMustSucceed: case NonPagedPoolMustSucceed:
case NonPagedPoolCacheAligned: case NonPagedPoolCacheAligned:
@ -58,33 +48,23 @@ EiAllocatePool(
NumberOfBytes, NumberOfBytes,
Tag, Tag,
Caller); Caller);
break; break;
case PagedPool: case PagedPool:
case PagedPoolCacheAligned: case PagedPoolCacheAligned:
Block = Block = ExAllocatePagedPoolWithTag(PoolType,NumberOfBytes,Tag);
ExAllocatePagedPoolWithTag(PoolType,
NumberOfBytes,
Tag);
break; break;
default: default:
DbgPrint ( "Unknown PoolType in call to EiAllocatePool!\n" ); return(NULL);
/* a bug check may be overdramatic, but let's catch problems };
as soon as we detect them, no? */
KEBUGCHECK(0); if ((PoolType==NonPagedPoolMustSucceed ||
return NULL; PoolType==NonPagedPoolCacheAlignedMustS) && Block==NULL)
}; {
KEBUGCHECK(MUST_SUCCEED_POOL_EMPTY);
if ( Block == NULL && MustSucceed == TRUE ) }
{ return(Block);
KEBUGCHECK(MUST_SUCCEED_POOL_EMPTY);
}
if ( Block != NULL && CacheAligned == TRUE )
Block = (PVOID)(((size_t)(Block + nCacheAlignBytes)) & (~nCacheAlignBytes));
return(Block);
} }
/* /*