diff options
author | Adam Mitz <mitza@ociweb.com> | 2015-11-06 17:07:11 -0600 |
---|---|---|
committer | Adam Mitz <mitza@ociweb.com> | 2015-11-06 17:07:11 -0600 |
commit | ac5e1702c9f9bee9f1f7bfce8c1a6f3847ea6b4b (patch) | |
tree | 0e70d1f51c39e688a05a6cdc2af58408222e4a0d /ACE/ace/Local_Memory_Pool.cpp | |
parent | 5272b5b81f92c298cb998b5bb0b0dbca3e7f29fe (diff) | |
download | ATCD-ac5e1702c9f9bee9f1f7bfce8c1a6f3847ea6b4b.tar.gz |
Merged branch ace-face-safety (FACE Safety Profile import from OCITAO).
Diffstat (limited to 'ACE/ace/Local_Memory_Pool.cpp')
-rw-r--r-- | ACE/ace/Local_Memory_Pool.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/ACE/ace/Local_Memory_Pool.cpp b/ACE/ace/Local_Memory_Pool.cpp index 6d56e2500bd..0332f6f36e0 100644 --- a/ACE/ace/Local_Memory_Pool.cpp +++ b/ACE/ace/Local_Memory_Pool.cpp @@ -53,9 +53,15 @@ ACE_Local_Memory_Pool::acquire (size_t nbytes, rounded_bytes = this->round_up (nbytes); char *temp = 0; +#if defined (ACE_HAS_ALLOC_HOOKS) + ACE_ALLOCATOR_RETURN (temp, + static_cast<char*>(ACE_Allocator::instance()->malloc(sizeof(char) * rounded_bytes)), + 0); +#else ACE_NEW_RETURN (temp, char[rounded_bytes], 0); +#endif /* ACE_HAS_ALLOC_HOOKS */ ACE_Auto_Basic_Array_Ptr<char> cp (temp); @@ -76,7 +82,12 @@ ACE_Local_Memory_Pool::release (int) for (ACE_Unbounded_Set<char *>::iterator i = this->allocated_chunks_.begin (); i != this->allocated_chunks_.end (); ++i) +#if defined (ACE_HAS_ALLOC_HOOKS) + ACE_Allocator::instance()->free(*i); +#else delete [] *i; +#endif /* ACE_HAS_ALLOC_HOOKS */ + this->allocated_chunks_.reset (); return 0; } |