diff options
Diffstat (limited to 'ace/Malloc_Allocator.cpp')
-rw-r--r-- | ace/Malloc_Allocator.cpp | 207 |
1 files changed, 205 insertions, 2 deletions
diff --git a/ace/Malloc_Allocator.cpp b/ace/Malloc_Allocator.cpp index bfa794e1a7f..ec12aa32954 100644 --- a/ace/Malloc_Allocator.cpp +++ b/ace/Malloc_Allocator.cpp @@ -20,6 +20,8 @@ #include "ace/Guard_T.h" #include "ace/Recursive_Thread_Mutex.h" +#include "ace/Log_Msg.h" // for ACE_ASSERT +#include "ace/OS_NS_string.h" ACE_RCSID (ace, Malloc_Allocator, "$Id$") @@ -138,14 +140,217 @@ ACE_New_Allocator::calloc (size_t nbytes, return (void *) ptr; } +void * +ACE_New_Allocator::calloc (size_t n_elem, size_t elem_size, char initial_value) +{ + return ACE_New_Allocator::calloc (n_elem * elem_size, initial_value); +} + void ACE_New_Allocator::free (void *ptr) { delete [] (char *) ptr; } +int +ACE_New_Allocator::remove (void) +{ + ACE_NOTSUP_RETURN (-1); +} + +int +ACE_New_Allocator::bind (const char *, void *, int) +{ + ACE_NOTSUP_RETURN (-1); +} + +int +ACE_New_Allocator::trybind (const char *, void *&) +{ + ACE_NOTSUP_RETURN (-1); +} + +int +ACE_New_Allocator::find (const char *, void *&) +{ + ACE_NOTSUP_RETURN (-1); +} + +int +ACE_New_Allocator::find (const char *) +{ + ACE_NOTSUP_RETURN (-1); +} + +int +ACE_New_Allocator::unbind (const char *) +{ + ACE_NOTSUP_RETURN (-1); +} + +int +ACE_New_Allocator::unbind (const char *, void *&) +{ + ACE_NOTSUP_RETURN (-1); +} + +int +ACE_New_Allocator::sync (ssize_t, int) +{ + ACE_NOTSUP_RETURN (-1); +} + +int +ACE_New_Allocator::sync (void *, size_t, int) +{ + ACE_NOTSUP_RETURN (-1); +} + +int +ACE_New_Allocator::protect (ssize_t, int) +{ + ACE_NOTSUP_RETURN (-1); +} + +int +ACE_New_Allocator::protect (void *, size_t, int) +{ + ACE_NOTSUP_RETURN (-1); +} + +#if defined (ACE_HAS_MALLOC_STATS) +void +ACE_New_Allocator::print_stats (void) const +{ +} +#endif /* ACE_HAS_MALLOC_STATS */ + +void +ACE_New_Allocator::dump (void) const +{ +#if defined (ACE_HAS_DUMP) +#endif /* ACE_HAS_DUMP */ +} + /******************************************************************************/ +void * +ACE_Static_Allocator_Base::malloc (size_t nbytes) +{ + if (this->offset_ + nbytes > this->size_) + { + errno = ENOMEM; + return 0; + } + else + { + // Record the current offset, increment the offset by the number + // of bytes requested, and return the original offset. + char *ptr = &this->buffer_[this->offset_]; + this->offset_ += nbytes; + return (void *) ptr; + } +} + +void * +ACE_Static_Allocator_Base::calloc (size_t nbytes, + char initial_value) +{ + void *ptr = this->malloc (nbytes); + + ACE_OS::memset (ptr, initial_value, nbytes); + return (void *) ptr; +} + +void * +ACE_Static_Allocator_Base::calloc (size_t n_elem, + size_t elem_size, + char initial_value) +{ + return this->calloc (n_elem * elem_size, initial_value); +} + +void +ACE_Static_Allocator_Base::free (void *ptr) +{ + // Check to see if ptr is within our pool?! + ACE_UNUSED_ARG (ptr); + ACE_ASSERT (ptr >= this->buffer_ && ptr < this->buffer_ + this->size_); +} + +int +ACE_Static_Allocator_Base::remove (void) +{ + return -1; +} + +int +ACE_Static_Allocator_Base::bind (const char *, void *, int) +{ + return -1; +} + +int +ACE_Static_Allocator_Base::trybind (const char *, void *&) +{ + return -1; +} + +int +ACE_Static_Allocator_Base::find (const char *, void *&) +{ + return -1; +} + +int +ACE_Static_Allocator_Base::find (const char *) +{ + return -1; +} + +int +ACE_Static_Allocator_Base::unbind (const char *) +{ + return -1; +} + +int +ACE_Static_Allocator_Base::unbind (const char *, void *&) +{ + return -1; +} + +int +ACE_Static_Allocator_Base::sync (ssize_t, int) +{ + return -1; +} + +int +ACE_Static_Allocator_Base::sync (void *, size_t, int) +{ + return -1; +} + +int +ACE_Static_Allocator_Base::protect (ssize_t, int) +{ + return -1; +} + +int +ACE_Static_Allocator_Base::protect (void *, size_t, int) +{ + return -1; +} + +#if defined (ACE_HAS_MALLOC_STATS) +void +ACE_Static_Allocator_Base::print_stats (void) const +{ +} +#endif /* ACE_HAS_MALLOC_STATS */ + void ACE_Static_Allocator_Base::dump (void) const { @@ -162,6 +367,4 @@ ACE_Static_Allocator_Base::dump (void) const #endif /* ACE_HAS_DUMP */ } - - #endif /* ACE_MALLOC_ALLOCATOR_CPP */ |