#include <ORB_Core_TSS_Resources.h>
Collaboration diagram for TAO_ORB_Core_TSS_Resources:
Public Member Functions | |
TAO_ORB_Core_TSS_Resources (void) | |
Constructor. | |
~TAO_ORB_Core_TSS_Resources (void) | |
destructor | |
Public Attributes | |
int | event_loop_thread_ |
int | client_leader_thread_ |
void * | lane_ |
Lane for this thread. | |
ACE_Array_Base< void * > | ts_objects_ |
Generic container for thread-specific objects. | |
bool | upcalls_temporarily_suspended_on_this_thread_ |
TAO_ORB_Core * | orb_core_ |
Private Member Functions | |
TAO_ORB_Core_TSS_Resources (const TAO_ORB_Core_TSS_Resources &) | |
The ORB Core TSS resources should not be copied. | |
void | operator= (const TAO_ORB_Core_TSS_Resources &) |
This class is used by the ORB_Core to store the resources potentially bound to a thread in TSS storage. The members are public because only the ORB Core is expected to access them.
Definition at line 41 of file ORB_Core_TSS_Resources.h.
TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_ORB_Core_TSS_Resources::TAO_ORB_Core_TSS_Resources | ( | void | ) |
Constructor.
Definition at line 7 of file ORB_Core_TSS_Resources.cpp.
00008 : event_loop_thread_ (0) 00009 , client_leader_thread_ (0) 00010 , lane_ (0) 00011 , ts_objects_ () 00012 , upcalls_temporarily_suspended_on_this_thread_ (false) 00013 , orb_core_ (0) 00014 { 00015 }
TAO_ORB_Core_TSS_Resources::~TAO_ORB_Core_TSS_Resources | ( | void | ) |
destructor
Definition at line 17 of file ORB_Core_TSS_Resources.cpp.
00018 { 00019 //@@ This is broken on platforms that use TSS emulation since this 00020 // destructor is invoked after the ORB. Since we're under 00021 // pressure to release a beta, we'll have to leak the TSS objects 00022 // stores in the <ts_objects_> array. However, the only service 00023 // known to currently use this array is the SSLIOP pluggable 00024 // protocol. Fortunately, it registeres a null cleanup function 00025 // so we're not leaking anything yet. We *do* need to fix this 00026 // before other services start to use this array. 00027 // -Ossama 00028 // if (this->orb_core_ != 0) 00029 // this->orb_core_->tss_cleanup_funcs ()->cleanup (this->ts_objects_); 00030 }
TAO_ORB_Core_TSS_Resources::TAO_ORB_Core_TSS_Resources | ( | const TAO_ORB_Core_TSS_Resources & | ) | [private] |
The ORB Core TSS resources should not be copied.
void TAO_ORB_Core_TSS_Resources::operator= | ( | const TAO_ORB_Core_TSS_Resources & | ) | [private] |
Counter for how many times this thread has become a client leader.
Definition at line 70 of file ORB_Core_TSS_Resources.h.
Referenced by TAO_Leader_Follower::is_client_leader_thread(), TAO_Leader_Follower::reset_client_leader_thread(), TAO_Leader_Follower::reset_client_thread(), TAO_Leader_Follower::reset_event_loop_thread_i(), TAO_Leader_Follower::set_client_leader_thread(), TAO_Leader_Follower::set_client_thread(), and TAO_Leader_Follower::set_event_loop_thread().
Counter for how (nested) calls this thread has made to run the event loop.
Definition at line 66 of file ORB_Core_TSS_Resources.h.
Referenced by TAO_Leader_Follower::reset_client_thread(), TAO_Leader_Follower::reset_event_loop_thread(), TAO_Leader_Follower::reset_event_loop_thread_i(), TAO_Leader_Follower::set_client_thread(), TAO_Leader_Follower::set_event_loop_thread(), and TAO_Leader_Follower::set_upcall_thread().
Pointer to the ORB core. Needed to get access to the TSS cleanup functions for the TSS objects stored in the TSS object array in this class.
Definition at line 85 of file ORB_Core_TSS_Resources.h.
Referenced by TAO_ORB_Core::set_tss_resource().
Generic container for thread-specific objects.
Definition at line 76 of file ORB_Core_TSS_Resources.h.
Referenced by TAO_ORB_Core::get_tss_resource(), and TAO_ORB_Core::set_tss_resource().
Definition at line 80 of file ORB_Core_TSS_Resources.h.
Referenced by TAO::Wait_On_LF_No_Upcall::can_process_upcalls(), TAO::Nested_Upcall_Guard::Nested_Upcall_Guard(), and TAO::Nested_Upcall_Guard::~Nested_Upcall_Guard().