summaryrefslogtreecommitdiff
path: root/TAO/tao/default_server.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/default_server.cpp')
-rw-r--r--TAO/tao/default_server.cpp25
1 files changed, 18 insertions, 7 deletions
diff --git a/TAO/tao/default_server.cpp b/TAO/tao/default_server.cpp
index c1a76f1b9e4..0238993da40 100644
--- a/TAO/tao/default_server.cpp
+++ b/TAO/tao/default_server.cpp
@@ -45,17 +45,28 @@ TAO_Default_Server_Strategy_Factory::concurrency_strategy (void)
return this->concurrency_strategy_;
}
-int
-TAO_Default_Server_Strategy_Factory::enable_poa_locking (void)
+ACE_Lock *
+TAO_Default_Server_Strategy_Factory::create_poa_lock (void)
{
+ ACE_Lock *the_lock = 0;
+
switch (this->poa_lock_type_)
{
- case TAO_NULL_LOCK:
- return 0;
case TAO_THREAD_LOCK:
+#if defined (ACE_HAS_THREADS)
+ ACE_NEW_RETURN (the_lock,
+ ACE_Lock_Adapter<ACE_Recursive_Thread_Mutex> (),
+ 0);
+ break;
+#endif /* ACE_HAS_THREADS */
default:
- return 1;
+ ACE_NEW_RETURN (the_lock,
+ ACE_Lock_Adapter<ACE_Null_Mutex> (),
+ 0);
+ break;
}
+
+ return the_lock;
}
ACE_Lock *
@@ -303,8 +314,8 @@ TAO_Default_Server_Strategy_Factory::parse_args (int argc, char *argv[])
if (ACE_OS::strcasecmp (name, "dynamic") == 0)
this->active_object_map_creation_parameters_.reverse_object_lookup_strategy_for_unique_id_policy_ = TAO_DYNAMIC_HASH;
- else if (ACE_OS::strcasecmp (name, "linear") == 0)
- this->active_object_map_creation_parameters_.reverse_object_lookup_strategy_for_unique_id_policy_ = TAO_LINEAR;
+ else if (ACE_OS::strcasecmp (name, "user") == 0)
+ this->active_object_map_creation_parameters_.reverse_object_lookup_strategy_for_unique_id_policy_ = TAO_USER_DEFINED;
}
}
else if (ACE_OS::strcmp (argv[curarg], "-ORBdemuxstrategy") == 0)