NAME
ACE_Control_Block -
This information is stored in memory allocated by the Memory_Pool
.
SYNOPSIS
#include <ace/Malloc.h>
class ACE_Control_Block
{
public:
static void print_alignment_info (void);
ACE_Name_Node *name_head_;
ACE_Malloc_Header *freep_;
char lock_name_[MAXNAMELEN];
ACE_Malloc_Stats malloc_stats_;
long align_[ACE_CONTROL_BLOCK_ALIGN_LONGS < 1 ? 1 : ACE_CONTROL_BLOCK_ALIGN_LONGS];
ACE_Malloc_Header base_;
void dump (void) const;
};
DESCRIPTION
This class defines the "old" control block class for use in
ACE_Malloc_T. This control block implementation is
considerable more efficient than the "position independent"
one below (ACE_PI_Control_Block) but if you are going to use
it to construct a ACE_Malloc_T and access the memory from
several different processes, you must "map" the underlying
memory pool to the same address.
PUBLIC MEMBERS
static void print_alignment_info (void);
Print out a bunch of size info for debugging.
ACE_Name_Node *name_head_;
Head of the linked list of Name Nodes.
ACE_Malloc_Header *freep_;
Current head of the freelist.
char lock_name_[MAXNAMELEN];
Name of lock thats ensures mutual exclusion.
ACE_Malloc_Stats malloc_stats_;
long align_[ACE_CONTROL_BLOCK_ALIGN_LONGS < 1 ? 1 : ACE_CONTROL_BLOCK_ALIGN_LONGS];
ACE_Malloc_Header base_;
Dummy node used to anchor the freelist. This needs to come last...
void dump (void) const;
Dump the state of the object.
AUTHOR
Doug Schmidt and Irfan Pyarali
LIBRARY
ace