TAO_PortableServer 3.0.6
Public Member Functions | Protected Attributes | List of all members
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]

Public Member Functions

 Non_Servant_Upcall (::TAO_Root_POA &poa)
 Constructor. More...
 
 ~Non_Servant_Upcall ()
 Destructor. More...
 
::TAO_Root_POApoa () 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

◆ Non_Servant_Upcall()

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

Constructor.

◆ ~Non_Servant_Upcall()

TAO::Portable_Server::Non_Servant_Upcall::~Non_Servant_Upcall ( )

Destructor.

Member Function Documentation

◆ poa()

TAO_Root_POA & TAO::Portable_Server::Non_Servant_Upcall::poa ( ) const

Member Data Documentation

◆ object_adapter_

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

◆ poa_

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

◆ previous_

Non_Servant_Upcall* TAO::Portable_Server::Non_Servant_Upcall::previous_
protected

The documentation for this class was generated from the following files: