summaryrefslogtreecommitdiff
path: root/TAO/tao/Strategies/advanced_resource.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/Strategies/advanced_resource.cpp')
-rw-r--r--TAO/tao/Strategies/advanced_resource.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/TAO/tao/Strategies/advanced_resource.cpp b/TAO/tao/Strategies/advanced_resource.cpp
index 34a8153b1bf..b6574ad98c6 100644
--- a/TAO/tao/Strategies/advanced_resource.cpp
+++ b/TAO/tao/Strategies/advanced_resource.cpp
@@ -526,6 +526,9 @@ TAO_Advanced_Resource_Factory::allocate_reactor_impl (void) const
typedef ACE_Malloc<ACE_LOCAL_MEMORY_POOL,ACE_Null_Mutex> NULL_LOCK_MALLOC;
typedef ACE_Allocator_Adapter<NULL_LOCK_MALLOC> NULL_LOCK_ALLOCATOR;
+typedef ACE_Malloc<ACE_LOCAL_MEMORY_POOL,ACE_SYNCH_MUTEX> LOCKED_MALLOC;
+typedef ACE_Allocator_Adapter<LOCKED_MALLOC> LOCKED_ALLOCATOR;
+
ACE_Allocator *
TAO_Advanced_Resource_Factory::input_cdr_dblock_allocator (void)
{
@@ -552,11 +555,16 @@ TAO_Advanced_Resource_Factory::input_cdr_buffer_allocator (void)
switch (this->cdr_allocator_type_)
{
case TAO_ALLOCATOR_NULL_LOCK:
- default:
ACE_NEW_RETURN (allocator,
NULL_LOCK_ALLOCATOR,
0);
break;
+ case TAO_ALLOCATOR_THREAD_LOCK:
+ default:
+ ACE_NEW_RETURN (allocator,
+ LOCKED_ALLOCATOR,
+ 0);
+ break;
}
return allocator;
}