ACE_At_Thread_Exit Class Reference

Contains a method to be applied when a thread is terminated. More...

#include <Thread_Manager.h>

Inheritance diagram for ACE_At_Thread_Exit:

Inheritance graph
[legend]
Collaboration diagram for ACE_At_Thread_Exit:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ACE_At_Thread_Exit (void)
 Default constructor.

virtual ~ACE_At_Thread_Exit (void)
 The destructor.

int is_owner (void) const
 At_Thread_Exit has the ownership?

int is_owner (int owner)
 Set the ownership of the At_Thread_Exit.

int was_applied (void) const
 This At_Thread_Exit was applied?

int was_applied (int applied)
 Set applied state of At_Thread_Exit.


Protected Member Functions

void do_apply (void)
 Do the apply if necessary.

virtual void apply (void)=0
 The apply method.


Protected Attributes

ACE_At_Thread_Exitnext_
 The next At_Thread_Exit hook in the list.

ACE_Thread_Descriptortd_
 The Thread_Descriptor where this at is registered.

int was_applied_
 The at was applied?

int is_owner_
 The at has the ownership of this?


Friends

class ACE_Thread_Descriptor
class ACE_Thread_Manager

Detailed Description

Contains a method to be applied when a thread is terminated.

Definition at line 89 of file Thread_Manager.h.


Constructor & Destructor Documentation

ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE ACE_At_Thread_Exit::ACE_At_Thread_Exit void   ) 
 

Default constructor.

Definition at line 8 of file Thread_Manager.inl.

00009   : next_ (0),
00010     td_ (0),
00011     was_applied_ (0),
00012     is_owner_ (1)
00013 {
00014 }

ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_At_Thread_Exit::~ACE_At_Thread_Exit void   )  [virtual]
 

The destructor.

Definition at line 26 of file Thread_Manager.cpp.

References do_apply().

00027 {
00028   this->do_apply ();
00029 }


Member Function Documentation

virtual void ACE_At_Thread_Exit::apply void   )  [protected, pure virtual]
 

The apply method.

Implemented in ACE_At_Thread_Exit_Func.

Referenced by ACE_Thread_Descriptor::at_pop().

ACE_INLINE void ACE_At_Thread_Exit::do_apply void   )  [protected]
 

Do the apply if necessary.

Definition at line 46 of file Thread_Manager.inl.

References ACE_Thread_Descriptor::at_pop(), is_owner_, td_, and was_applied_.

Referenced by ~ACE_At_Thread_Exit(), and ACE_At_Thread_Exit_Func::~ACE_At_Thread_Exit_Func().

00047 {
00048   if (!this->was_applied_ && this->is_owner_)
00049     td_->at_pop();
00050 }

ACE_INLINE int ACE_At_Thread_Exit::is_owner int  owner  ) 
 

Set the ownership of the At_Thread_Exit.

Definition at line 39 of file Thread_Manager.inl.

References is_owner_.

00040 {
00041   is_owner_ = owner;
00042   return is_owner_;
00043 }

ACE_INLINE int ACE_At_Thread_Exit::is_owner void   )  const
 

At_Thread_Exit has the ownership?

Definition at line 33 of file Thread_Manager.inl.

References is_owner_.

Referenced by ACE_Thread_Descriptor::at_pop(), and ACE_Thread_Descriptor::at_push().

00034 {
00035   return is_owner_;
00036 }

ACE_INLINE int ACE_At_Thread_Exit::was_applied int  applied  ) 
 

Set applied state of At_Thread_Exit.

Definition at line 24 of file Thread_Manager.inl.

References td_, and was_applied_.

00025 {
00026   was_applied_ = applied;
00027   if (was_applied_)
00028     td_ = 0;
00029   return was_applied_;
00030 }

ACE_INLINE int ACE_At_Thread_Exit::was_applied void   )  const
 

This At_Thread_Exit was applied?

Definition at line 17 of file Thread_Manager.inl.

References was_applied_.

Referenced by ACE_Thread_Descriptor::at_pop().

00019 {
00020    return was_applied_;
00021 }


Friends And Related Function Documentation

friend class ACE_Thread_Descriptor [friend]
 

Definition at line 91 of file Thread_Manager.h.

friend class ACE_Thread_Manager [friend]
 

Definition at line 92 of file Thread_Manager.h.


Member Data Documentation

int ACE_At_Thread_Exit::is_owner_ [protected]
 

The at has the ownership of this?

Definition at line 129 of file Thread_Manager.h.

Referenced by do_apply(), and is_owner().

ACE_At_Thread_Exit* ACE_At_Thread_Exit::next_ [protected]
 

The next At_Thread_Exit hook in the list.

Definition at line 114 of file Thread_Manager.h.

Referenced by ACE_Thread_Descriptor::at_pop(), and ACE_Thread_Descriptor::at_push().

ACE_Thread_Descriptor* ACE_At_Thread_Exit::td_ [protected]
 

The Thread_Descriptor where this at is registered.

Definition at line 123 of file Thread_Manager.h.

Referenced by ACE_Thread_Descriptor::at_push(), do_apply(), and was_applied().

int ACE_At_Thread_Exit::was_applied_ [protected]
 

The at was applied?

Definition at line 126 of file Thread_Manager.h.

Referenced by do_apply(), and was_applied().


The documentation for this class was generated from the following files:
Generated on Sun Jan 27 12:54:02 2008 for ACE by doxygen 1.3.6