summaryrefslogtreecommitdiff
path: root/ACE/ace/Local_Memory_Pool.cpp
diff options
context:
space:
mode:
authorAdam Mitz <mitza@ociweb.com>2015-11-06 17:07:11 -0600
committerAdam Mitz <mitza@ociweb.com>2015-11-06 17:07:11 -0600
commitac5e1702c9f9bee9f1f7bfce8c1a6f3847ea6b4b (patch)
tree0e70d1f51c39e688a05a6cdc2af58408222e4a0d /ACE/ace/Local_Memory_Pool.cpp
parent5272b5b81f92c298cb998b5bb0b0dbca3e7f29fe (diff)
downloadATCD-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.cpp11
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;
}