Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

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 Methods

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

int operator!= (const ACE_Thread_Descriptor_Base &rhs) const
 Inequality operator. More...

int grp_id (void) const
 Group ID. More...

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

ACE_Task_Basetask (void) const
 Return the pointer to an <ACE_Task_Base> or NULL if there's no <ACE_Task_Base> associated with this thread.;. More...


Protected Methods

void reset (void)
 Reset this base thread descriptor. More...


Protected Attributes

ACE_thread_t thr_id_
 Unique thread ID. More...

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

int grp_id_
 Group ID. More...

ACE_UINT32 thr_state_
 Current state of the thread. More...

ACE_Task_Basetask_
 Pointer to an <ACE_Task_Base> or NULL if there's no <ACE_Task_Base>. More...

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

ACE_Thread_Descriptor_Base * prev_

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.

Definition at line 162 of file Thread_Manager.h.


Constructor & Destructor Documentation

ACE_INLINE ACE_Thread_Descriptor_Base::ACE_Thread_Descriptor_Base void   
 

Definition at line 82 of file Thread_Manager.i.

00083   : ACE_OS_Thread_Descriptor (),
00084     thr_id_ (ACE_OS::NULL_thread),
00085     thr_handle_ (ACE_OS::NULL_hthread),
00086     grp_id_ (0),
00087     thr_state_ (ACE_Thread_Manager::ACE_THR_IDLE),
00088     task_ (0),
00089     next_ (0),
00090     prev_ (0)
00091 {
00092 }

ACE_INLINE ACE_Thread_Descriptor_Base::~ACE_Thread_Descriptor_Base void   
 

Definition at line 95 of file Thread_Manager.i.

00096 {
00097 }


Member Function Documentation

ACE_INLINE int ACE_Thread_Descriptor_Base::grp_id void    const
 

Group ID.

Definition at line 122 of file Thread_Manager.i.

References ACE_TRACE, and grp_id_.

00123 {
00124   ACE_TRACE ("ACE_Thread_Descriptor_Base::grp_id");
00125   return grp_id_;
00126 }

ACE_INLINE int ACE_Thread_Descriptor_Base::operator!= const ACE_Thread_Descriptor_Base &    rhs const
 

Inequality operator.

Definition at line 107 of file Thread_Manager.i.

00108 {
00109   return !(*this == rhs);
00110 }

ACE_INLINE int ACE_Thread_Descriptor_Base::operator== const ACE_Thread_Descriptor_Base &    rhs const
 

Equality operator.

Definition at line 100 of file Thread_Manager.i.

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

00101 {
00102   return ACE_OS::thr_cmp (this->thr_handle_, rhs.thr_handle_) == 0
00103     && ACE_OS::thr_equal (this->thr_id_, rhs.thr_id_) == 0;
00104 }

ACE_INLINE void ACE_Thread_Descriptor_Base::reset void    [protected]
 

Reset this base thread descriptor.

Definition at line 138 of file Thread_Manager.i.

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.

00139 {
00140   ACE_TRACE ("ACE_Thread_Descriptor_Base::reset");
00141   this->thr_id_ = ACE_OS::NULL_thread;
00142   this->thr_handle_ = ACE_OS::NULL_hthread;
00143   this->grp_id_ = 0;
00144   this->thr_state_ = ACE_Thread_Manager::ACE_THR_IDLE;
00145   this->task_ = 0;
00146   this->flags_ = 0;
00147 }

ACE_INLINE ACE_UINT32 ACE_Thread_Descriptor_Base::state void    const
 

Current state of the thread.

Definition at line 130 of file Thread_Manager.i.

References ACE_TRACE, and thr_state_.

Referenced by ACE_Log_Msg::dump.

00131 {
00132   ACE_TRACE ("ACE_Thread_Descriptor_Base::state");
00133   return thr_state_;
00134 }

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 113 of file Thread_Manager.i.

References ACE_TRACE, and task_.

Referenced by ACE_Thread_Manager::task.

00114 {
00115   ACE_TRACE ("ACE_Thread_Descriptor_Base::task");
00116   return this->task_;
00117 }


Friends And Related Function Documentation

friend class ACE_Double_Linked_List< ACE_Thread_Descriptor > [friend]
 

Reimplemented in ACE_Thread_Descriptor.

Definition at line 169 of file Thread_Manager.h.

friend class ACE_Double_Linked_List< ACE_Thread_Descriptor_Base > [friend]
 

Definition at line 166 of file Thread_Manager.h.

friend class ACE_Double_Linked_List_Iterator< ACE_Thread_Descriptor > [friend]
 

Reimplemented in ACE_Thread_Descriptor.

Definition at line 171 of file Thread_Manager.h.

friend class ACE_Double_Linked_List_Iterator< ACE_Thread_Descriptor_Base > [friend]
 

Definition at line 168 of file Thread_Manager.h.

friend class ACE_Double_Linked_List_Iterator_Base< ACE_Thread_Descriptor > [friend]
 

Definition at line 170 of file Thread_Manager.h.

friend class ACE_Double_Linked_List_Iterator_Base< ACE_Thread_Descriptor_Base > [friend]
 

Definition at line 167 of file Thread_Manager.h.

friend class ACE_Thread_Manager [friend]
 

Reimplemented in ACE_Thread_Descriptor.

Definition at line 165 of file Thread_Manager.h.


Member Data Documentation

int ACE_Thread_Descriptor_Base::grp_id_ [protected]
 

Group ID.

Definition at line 205 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 216 of file Thread_Manager.h.

Referenced by ACE_Thread_Descriptor::set_next.

ACE_Thread_Descriptor_Base* ACE_Thread_Descriptor_Base::prev_ [protected]
 

Definition at line 217 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 212 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 202 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, ACE_Thread_Manager::remove_thr_all, reset, ACE_Thread_Manager::resume_thr, ACE_Thread_Descriptor::self, 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 199 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 208 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, and ACE_Thread_Manager::suspend_thr.


The documentation for this class was generated from the following files:
Generated on Mon Jun 16 12:57:33 2003 for ACE by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002