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