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_Thread_Descriptor_Base::ACE_Thread_Descriptor_Base ( void   ) 

Definition at line 62 of file Thread_Manager.inl.

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

ACE_Thread_Descriptor_Base::~ACE_Thread_Descriptor_Base ( void   ) 

Definition at line 75 of file Thread_Manager.inl.

00076 {
00077 }


Member Function Documentation

int ACE_Thread_Descriptor_Base::grp_id ( void   )  const

Group ID.

Definition at line 104 of file Thread_Manager.inl.

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

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

Inequality operator.

Definition at line 89 of file Thread_Manager.inl.

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

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

Equality operator.

Definition at line 80 of file Thread_Manager.inl.

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

void ACE_Thread_Descriptor_Base::reset ( void   )  [protected]

Reset this base thread descriptor.

Definition at line 120 of file Thread_Manager.inl.

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

ACE_UINT32 ACE_Thread_Descriptor_Base::state ( void   )  const

Current state of the thread.

Definition at line 112 of file Thread_Manager.inl.

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

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 95 of file Thread_Manager.inl.

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


Friends And Related Function Documentation

Reimplemented in ACE_Thread_Descriptor.

Definition at line 172 of file Thread_Manager.h.

Definition at line 169 of file Thread_Manager.h.

Reimplemented in ACE_Thread_Descriptor.

Definition at line 174 of file Thread_Manager.h.

Definition at line 171 of file Thread_Manager.h.

Definition at line 173 of file Thread_Manager.h.

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

Group ID.

Definition at line 208 of file Thread_Manager.h.

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

Definition at line 219 of file Thread_Manager.h.

Definition at line 220 of file Thread_Manager.h.

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

Definition at line 215 of file Thread_Manager.h.

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

Definition at line 205 of file Thread_Manager.h.

Unique thread ID.

Definition at line 202 of file Thread_Manager.h.

Current state of the thread.

Definition at line 211 of file Thread_Manager.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Sat Nov 21 23:18:43 2009 for ACE by  doxygen 1.6.1