ACE_Thread_Descriptor_Base Class Reference

Basic information for thread descriptors. These information gets extracted out because we need it after a thread is terminated. More...

#include <Thread_Manager.h>

Inheritance diagram for ACE_Thread_Descriptor_Base:

Inheritance graph
[legend]
Collaboration diagram for ACE_Thread_Descriptor_Base:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ACE_Thread_Descriptor_Base (void)
 ~ACE_Thread_Descriptor_Base (void)
bool operator== (const ACE_Thread_Descriptor_Base &rhs) const
 Equality operator.

bool operator!= (const ACE_Thread_Descriptor_Base &rhs) const
 Inequality operator.

int grp_id (void) const
 Group ID.

ACE_UINT32 state (void) const
 Current state of the thread.

ACE_Task_Basetask (void) const

Protected Member Functions

void reset (void)
 Reset this base thread descriptor.


Protected Attributes

ACE_thread_t thr_id_
 Unique thread ID.

ACE_hthread_t thr_handle_
 Unique handle to thread (used by Win32 and AIX).

int grp_id_
 Group ID.

ACE_UINT32 thr_state_
 Current state of the thread.

ACE_Task_Basetask_
ACE_Thread_Descriptor_Basenext_
ACE_Thread_Descriptor_Baseprev_

Friends

class ACE_Thread_Manager
class ACE_Double_Linked_List< ACE_Thread_Descriptor_Base >
class ACE_Double_Linked_List_Iterator_Base< ACE_Thread_Descriptor_Base >
class ACE_Double_Linked_List_Iterator< ACE_Thread_Descriptor_Base >
class ACE_Double_Linked_List< ACE_Thread_Descriptor >
class ACE_Double_Linked_List_Iterator_Base< ACE_Thread_Descriptor >
class ACE_Double_Linked_List_Iterator< ACE_Thread_Descriptor >

Detailed Description

Basic information for thread descriptors. These information gets extracted out because we need it after a thread is terminated.

For internal use only.

Definition at line 168 of file Thread_Manager.h.


Constructor & Destructor Documentation

ACE_INLINE ACE_Thread_Descriptor_Base::ACE_Thread_Descriptor_Base void   ) 
 

Definition at line 65 of file Thread_Manager.inl.

00066   : ACE_OS_Thread_Descriptor (),
00067     thr_id_ (ACE_OS::NULL_thread),
00068     thr_handle_ (ACE_OS::NULL_hthread),
00069     grp_id_ (0),
00070     thr_state_ (ACE_Thread_Manager::ACE_THR_IDLE),
00071     task_ (0),
00072     next_ (0),
00073     prev_ (0)
00074 {
00075 }

ACE_INLINE ACE_Thread_Descriptor_Base::~ACE_Thread_Descriptor_Base void   ) 
 

Definition at line 78 of file Thread_Manager.inl.

00079 {
00080 }


Member Function Documentation

ACE_INLINE int ACE_Thread_Descriptor_Base::grp_id void   )  const
 

Group ID.

Definition at line 107 of file Thread_Manager.inl.

References ACE_TRACE.

00108 {
00109   ACE_TRACE ("ACE_Thread_Descriptor_Base::grp_id");
00110   return grp_id_;
00111 }

ACE_INLINE bool ACE_Thread_Descriptor_Base::operator!= const ACE_Thread_Descriptor_Base rhs  )  const
 

Inequality operator.

Definition at line 92 of file Thread_Manager.inl.

00093 {
00094   return !(*this == rhs);
00095 }

ACE_INLINE bool ACE_Thread_Descriptor_Base::operator== const ACE_Thread_Descriptor_Base rhs  )  const
 

Equality operator.

Definition at line 83 of file Thread_Manager.inl.

References ACE_OS::thr_cmp(), ACE_OS::thr_equal(), thr_handle_, and thr_id_.

00085 {
00086   return
00087     ACE_OS::thr_cmp (this->thr_handle_, rhs.thr_handle_)
00088     && ACE_OS::thr_equal (this->thr_id_, rhs.thr_id_);
00089 }

ACE_INLINE void ACE_Thread_Descriptor_Base::reset void   )  [protected]
 

Reset this base thread descriptor.

Definition at line 123 of file Thread_Manager.inl.

References ACE_TRACE, task_, thr_handle_, thr_id_, and thr_state_.

Referenced by ACE_Thread_Descriptor::reset().

00124 {
00125   ACE_TRACE ("ACE_Thread_Descriptor_Base::reset");
00126   this->thr_id_ = ACE_OS::NULL_thread;
00127   this->thr_handle_ = ACE_OS::NULL_hthread;
00128   this->grp_id_ = 0;
00129   this->thr_state_ = ACE_Thread_Manager::ACE_THR_IDLE;
00130   this->task_ = 0;
00131   this->flags_ = 0;
00132 }

ACE_INLINE ACE_UINT32 ACE_Thread_Descriptor_Base::state void   )  const
 

Current state of the thread.

Definition at line 115 of file Thread_Manager.inl.

References ACE_TRACE, and thr_state_.

Referenced by ACE_Log_Msg::dump().

00116 {
00117   ACE_TRACE ("ACE_Thread_Descriptor_Base::state");
00118   return thr_state_;
00119 }

ACE_INLINE ACE_Task_Base * ACE_Thread_Descriptor_Base::task void   )  const
 

Return the pointer to an or NULL if there's no associated with this thread.;

Definition at line 98 of file Thread_Manager.inl.

References ACE_TRACE, and task_.

Referenced by ACE_Thread_Manager::task().

00099 {
00100   ACE_TRACE ("ACE_Thread_Descriptor_Base::task");
00101   return this->task_;
00102 }


Friends And Related Function Documentation

friend class ACE_Double_Linked_List< ACE_Thread_Descriptor > [friend]
 

Reimplemented in ACE_Thread_Descriptor.

Definition at line 175 of file Thread_Manager.h.

friend class ACE_Double_Linked_List< ACE_Thread_Descriptor_Base > [friend]
 

Definition at line 172 of file Thread_Manager.h.

friend class ACE_Double_Linked_List_Iterator< ACE_Thread_Descriptor > [friend]
 

Reimplemented in ACE_Thread_Descriptor.

Definition at line 177 of file Thread_Manager.h.

friend class ACE_Double_Linked_List_Iterator< ACE_Thread_Descriptor_Base > [friend]
 

Definition at line 174 of file Thread_Manager.h.

friend class ACE_Double_Linked_List_Iterator_Base< ACE_Thread_Descriptor > [friend]
 

Definition at line 176 of file Thread_Manager.h.

friend class ACE_Double_Linked_List_Iterator_Base< ACE_Thread_Descriptor_Base > [friend]
 

Definition at line 173 of file Thread_Manager.h.

friend class ACE_Thread_Manager [friend]
 

Reimplemented in ACE_Thread_Descriptor.

Definition at line 171 of file Thread_Manager.h.


Member Data Documentation

int ACE_Thread_Descriptor_Base::grp_id_ [protected]
 

Group ID.

Definition at line 211 of file Thread_Manager.h.

Referenced by ACE_Thread_Manager::append_thr().

ACE_Thread_Descriptor_Base* ACE_Thread_Descriptor_Base::next_ [protected]
 

We need these pointers to maintain the double-linked list in a thread managers.

Definition at line 222 of file Thread_Manager.h.

ACE_Thread_Descriptor_Base* ACE_Thread_Descriptor_Base::prev_ [protected]
 

Definition at line 223 of file Thread_Manager.h.

ACE_Task_Base* ACE_Thread_Descriptor_Base::task_ [protected]
 

Pointer to an or NULL if there's no .

Definition at line 218 of file Thread_Manager.h.

Referenced by ACE_Thread_Manager::append_thr(), reset(), and task().

ACE_hthread_t ACE_Thread_Descriptor_Base::thr_handle_ [protected]
 

Unique handle to thread (used by Win32 and AIX).

Definition at line 208 of file Thread_Manager.h.

Referenced by ACE_Thread_Manager::append_thr(), ACE_Thread_Manager::join(), ACE_Thread_Manager::join_thr(), operator==(), ACE_Thread_Manager::remove_thr(), reset(), ACE_Thread_Manager::resume_thr(), ACE_Thread_Manager::suspend_thr(), ACE_Thread_Manager::wait(), ACE_Thread_Manager::wait_grp(), and ACE_Thread_Manager::wait_task().

ACE_thread_t ACE_Thread_Descriptor_Base::thr_id_ [protected]
 

Unique thread ID.

Definition at line 205 of file Thread_Manager.h.

Referenced by ACE_Thread_Manager::append_thr(), ACE_Thread_Manager::cancel_thr(), ACE_Thread_Manager::kill_thr(), operator==(), and reset().

ACE_UINT32 ACE_Thread_Descriptor_Base::thr_state_ [protected]
 

Current state of the thread.

Definition at line 214 of file Thread_Manager.h.

Referenced by ACE_Thread_Manager::append_thr(), ACE_Thread_Manager::cancel_thr(), ACE_Thread_Manager::check_state(), ACE_Thread_Manager::exit(), reset(), ACE_Thread_Manager::resume_thr(), state(), ACE_Thread_Manager::suspend_thr(), and ACE_Thread_Manager::thr_state().


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 11:30:54 2006 for ACE by doxygen 1.3.6