mirror of
https://github.com/reactos/reactos.git
synced 2025-02-22 16:36:33 +00:00
- Reverted incorrect code.
svn path=/trunk/; revision=5341
This commit is contained in:
parent
bbb0ecb401
commit
0b78b457fc
1 changed files with 28 additions and 48 deletions
|
@ -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
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -24,31 +24,21 @@
|
|||
/* FUNCTIONS ***************************************************************/
|
||||
|
||||
PVOID STDCALL STATIC
|
||||
EiAllocatePool(
|
||||
POOL_TYPE PoolType,
|
||||
ULONG NumberOfBytes,
|
||||
ULONG Tag,
|
||||
PVOID Caller)
|
||||
EiAllocatePool(POOL_TYPE PoolType,
|
||||
ULONG NumberOfBytes,
|
||||
ULONG Tag,
|
||||
PVOID Caller)
|
||||
{
|
||||
PVOID Block;
|
||||
BOOL CacheAligned = FALSE;
|
||||
BOOL MustSucceed = FALSE;
|
||||
static const ULONG nCacheAlignBytes = 31;
|
||||
|
||||
if ( PoolType == NonPagedPoolCacheAligned
|
||||
|| PoolType == NonPagedPoolCacheAlignedMustS
|
||||
|| PoolType == PagedPoolCacheAligned )
|
||||
{
|
||||
CacheAligned = TRUE;
|
||||
NumberOfBytes += nCacheAlignBytes;
|
||||
}
|
||||
|
||||
if ( PoolType == NonPagedPoolMustSucceed
|
||||
|| PoolType == NonPagedPoolCacheAlignedMustS )
|
||||
MustSucceed = TRUE;
|
||||
|
||||
switch ( PoolType )
|
||||
{
|
||||
PVOID Block;
|
||||
|
||||
if (PoolType == NonPagedPoolCacheAligned ||
|
||||
PoolType == NonPagedPoolCacheAlignedMustS)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
switch(PoolType)
|
||||
{
|
||||
case NonPagedPool:
|
||||
case NonPagedPoolMustSucceed:
|
||||
case NonPagedPoolCacheAligned:
|
||||
|
@ -58,33 +48,23 @@ EiAllocatePool(
|
|||
NumberOfBytes,
|
||||
Tag,
|
||||
Caller);
|
||||
break;
|
||||
|
||||
break;
|
||||
|
||||
case PagedPool:
|
||||
case PagedPoolCacheAligned:
|
||||
Block =
|
||||
ExAllocatePagedPoolWithTag(PoolType,
|
||||
NumberOfBytes,
|
||||
Tag);
|
||||
Block = ExAllocatePagedPoolWithTag(PoolType,NumberOfBytes,Tag);
|
||||
break;
|
||||
|
||||
|
||||
default:
|
||||
DbgPrint ( "Unknown PoolType in call to EiAllocatePool!\n" );
|
||||
/* a bug check may be overdramatic, but let's catch problems
|
||||
as soon as we detect them, no? */
|
||||
KEBUGCHECK(0);
|
||||
return NULL;
|
||||
};
|
||||
|
||||
if ( Block == NULL && MustSucceed == TRUE )
|
||||
{
|
||||
KEBUGCHECK(MUST_SUCCEED_POOL_EMPTY);
|
||||
}
|
||||
|
||||
if ( Block != NULL && CacheAligned == TRUE )
|
||||
Block = (PVOID)(((size_t)(Block + nCacheAlignBytes)) & (~nCacheAlignBytes));
|
||||
|
||||
return(Block);
|
||||
return(NULL);
|
||||
};
|
||||
|
||||
if ((PoolType==NonPagedPoolMustSucceed ||
|
||||
PoolType==NonPagedPoolCacheAlignedMustS) && Block==NULL)
|
||||
{
|
||||
KEBUGCHECK(MUST_SUCCEED_POOL_EMPTY);
|
||||
}
|
||||
return(Block);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in a new issue