TAO::Portable_Server::Non_Servant_Upcall Class Reference

This class helps us with a recursive thread lock without using a recursive thread lock. Non_Servant_Upcall has a magic constructor and destructor. We unlock the Object_Adapter lock for the duration of the non-servant (i.e., adapter activator and servant activator) upcalls; reacquiring once the upcalls complete. Even though we are releasing the lock, other threads will not be able to make progress since <Object_Adapter::non_servant_upcall_in_progress_> has been set. More...

#include <Non_Servant_Upcall.h>

Collaboration diagram for TAO::Portable_Server::Non_Servant_Upcall:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Non_Servant_Upcall (::TAO_Root_POA &poa)
 Constructor.
 ~Non_Servant_Upcall (void)
 Destructor.
::TAO_Root_POApoa (void) const

Protected Attributes

TAO_Object_Adapterobject_adapter_
::TAO_Root_POApoa_
Non_Servant_Upcallprevious_

Detailed Description

This class helps us with a recursive thread lock without using a recursive thread lock. Non_Servant_Upcall has a magic constructor and destructor. We unlock the Object_Adapter lock for the duration of the non-servant (i.e., adapter activator and servant activator) upcalls; reacquiring once the upcalls complete. Even though we are releasing the lock, other threads will not be able to make progress since <Object_Adapter::non_servant_upcall_in_progress_> has been set.


Constructor & Destructor Documentation

TAO::Portable_Server::Non_Servant_Upcall::Non_Servant_Upcall ::TAO_Root_POA poa  ) 
 

Constructor.

TAO::Portable_Server::Non_Servant_Upcall::~Non_Servant_Upcall void   ) 
 

Destructor.


Member Function Documentation

ACE_INLINE::TAO_Root_POA & TAO::Portable_Server::Non_Servant_Upcall::poa void   )  const
 


Member Data Documentation

TAO_Object_Adapter& TAO::Portable_Server::Non_Servant_Upcall::object_adapter_ [protected]
 

::TAO_Root_POA& TAO::Portable_Server::Non_Servant_Upcall::poa_ [protected]
 

Non_Servant_Upcall* TAO::Portable_Server::Non_Servant_Upcall::previous_ [protected]
 


The documentation for this class was generated from the following files:
Generated on Wed Nov 23 16:11:21 2005 for TAO_PortableServer by  doxygen 1.4.5