|
TAO_PortableServer
2.0.7
|
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>

Public Member Functions | |
| Non_Servant_Upcall (::TAO_Root_POA &poa) | |
| Constructor. | |
| ~Non_Servant_Upcall (void) | |
| Destructor. | |
| ::TAO_Root_POA & | poa (void) const |
Protected Attributes | |
| TAO_Object_Adapter & | object_adapter_ |
| TAO_Root_POA & | poa_ |
| Non_Servant_Upcall * | previous_ |
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.
| 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.
| TAO_Root_POA & TAO::Portable_Server::Non_Servant_Upcall::poa | ( | void | ) | const |
1.7.5