00001 // $Id: ThreadStrategySingle.cpp 75887 2006-12-07 08:01:14Z johnnyw $ 00002 00003 #include "tao/orbconf.h" 00004 00005 ACE_RCSID (PortableServer, 00006 ThreadStrategySingle, 00007 "$Id: ThreadStrategySingle.cpp 75887 2006-12-07 08:01:14Z johnnyw $") 00008 00009 #if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) 00010 00011 #include "tao/PortableServer/ThreadStrategySingle.h" 00012 #include "ace/Dynamic_Service.h" 00013 #include "ace/Log_Msg.h" 00014 00015 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00016 00017 namespace TAO 00018 { 00019 namespace Portable_Server 00020 { 00021 int 00022 ThreadStrategySingle::enter () 00023 { 00024 return lock_.acquire(); 00025 } 00026 00027 int 00028 ThreadStrategySingle::exit () 00029 { 00030 return lock_.release(); 00031 } 00032 00033 ::PortableServer::ThreadPolicyValue 00034 ThreadStrategySingle::type() const 00035 { 00036 return ::PortableServer::SINGLE_THREAD_MODEL; 00037 } 00038 } 00039 } 00040 00041 TAO_END_VERSIONED_NAMESPACE_DECL 00042 00043 ACE_FACTORY_NAMESPACE_DEFINE ( 00044 ACE_Local_Service, 00045 ThreadStrategySingle, 00046 TAO::Portable_Server::ThreadStrategySingle) 00047 00048 ACE_STATIC_SVC_DEFINE ( 00049 ThreadStrategySingle, 00050 ACE_TEXT ("ThreadStrategySingle"), 00051 ACE_SVC_OBJ_T, 00052 &ACE_SVC_NAME (ThreadStrategySingle), 00053 ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, 00054 0) 00055 00056 #endif /* TAO_HAS_MINIMUM_POA == 0 */