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 165 of file Thread_Manager.h.


Constructor & Destructor Documentation

ACE_INLINE ACE_Thread_Descriptor_Base::ACE_Thread_Descriptor_Base ( void   ) 

Definition at line 63 of file Thread_Manager.inl.

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

ACE_INLINE ACE_Thread_Descriptor_Base::~ACE_Thread_Descriptor_Base ( void   ) 

Definition at line 76 of file Thread_Manager.inl.

00077 {
00078 }


Member Function Documentation

ACE_INLINE int ACE_Thread_Descriptor_Base::grp_id ( void   )  const

Group ID.

Definition at line 105 of file Thread_Manager.inl.

References ACE_TRACE, and grp_id_.

00106 {
00107   ACE_TRACE ("ACE_Thread_Descriptor_Base::grp_id");
00108   return grp_id_;
00109 }

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

Inequality operator.

Definition at line 90 of file Thread_Manager.inl.

00091 {
00092   return !(*this == rhs);
00093 }

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

Equality operator.

Definition at line 81 of file Thread_Manager.inl.

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

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

ACE_INLINE void ACE_Thread_Descriptor_Base::reset ( void   )  [protected]

Reset this base thread descriptor.

Definition at line 121 of file Thread_Manager.inl.

References ACE_Thread_Manager::ACE_THR_IDLE, ACE_TRACE, ACE_OS_Thread_Descriptor::flags_, grp_id_, ACE_OS::NULL_hthread, ACE_OS::NULL_thread, task_, thr_handle_, thr_id_, and thr_state_.

Referenced by ACE_Thread_Descriptor::reset().

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

ACE_INLINE ACE_UINT32 ACE_Thread_Descriptor_Base::state ( void   )  const

Current state of the thread.

Definition at line 113 of file Thread_Manager.inl.

References ACE_TRACE, and thr_state_.

00114 {
00115   ACE_TRACE ("ACE_Thread_Descriptor_Base::state");
00116   return thr_state_;
00117 }

ACE_INLINE ACE_Task_Base * ACE_Thread_Descriptor_Base::task ( void   )  const

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

Definition at line 96 of file Thread_Manager.inl.

References ACE_TRACE, and task_.

Referenced by ACE_Thread_Manager::task().

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


Friends And Related Function Documentation

friend class ACE_Double_Linked_List< ACE_Thread_Descriptor > [friend]

Reimplemented in ACE_Thread_Descriptor.

Definition at line 172 of file Thread_Manager.h.

friend class ACE_Double_Linked_List< ACE_Thread_Descriptor_Base > [friend]

Definition at line 169 of file Thread_Manager.h.

friend class ACE_Double_Linked_List_Iterator< ACE_Thread_Descriptor > [friend]

Reimplemented in ACE_Thread_Descriptor.

Definition at line 174 of file Thread_Manager.h.

friend class ACE_Double_Linked_List_Iterator< ACE_Thread_Descriptor_Base > [friend]

Definition at line 171 of file Thread_Manager.h.

friend class ACE_Double_Linked_List_Iterator_Base< ACE_Thread_Descriptor > [friend]

Definition at line 173 of file Thread_Manager.h.

friend class ACE_Double_Linked_List_Iterator_Base< ACE_Thread_Descriptor_Base > [friend]

Definition at line 170 of file Thread_Manager.h.

friend class ACE_Thread_Manager [friend]

Reimplemented in ACE_Thread_Descriptor.

Definition at line 168 of file Thread_Manager.h.


Member Data Documentation

int ACE_Thread_Descriptor_Base::grp_id_ [protected]

Group ID.

Definition at line 208 of file Thread_Manager.h.

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

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 219 of file Thread_Manager.h.

Referenced by ACE_Thread_Descriptor::get_next(), and ACE_Thread_Descriptor::set_next().

ACE_Thread_Descriptor_Base* ACE_Thread_Descriptor_Base::prev_ [protected]

Definition at line 220 of file Thread_Manager.h.

ACE_Task_Base* ACE_Thread_Descriptor_Base::task_ [protected]

Pointer to an ACE_Task_Base or NULL if there's no ACE_Task_Base.

Definition at line 215 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 205 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_Descriptor::self(), ACE_Thread_Manager::suspend_thr(), and ACE_Thread_Manager::wait().

ACE_thread_t ACE_Thread_Descriptor_Base::thr_id_ [protected]

Unique thread ID.

Definition at line 202 of file Thread_Manager.h.

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

ACE_UINT32 ACE_Thread_Descriptor_Base::thr_state_ [protected]

Current state of the thread.

Definition at line 211 of file Thread_Manager.h.

Referenced by ACE_Thread_Manager::append_thr(), ACE_Thread_Manager::cancel_thr(), ACE_Thread_Manager::check_state(), 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 Tue Feb 2 17:35:45 2010 for ACE by  doxygen 1.4.7