diff options
Diffstat (limited to 'TAO/tao/PortableServer/POA.i')
-rw-r--r-- | TAO/tao/PortableServer/POA.i | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/TAO/tao/PortableServer/POA.i b/TAO/tao/PortableServer/POA.i index baa06a04bbc..83e043e7421 100644 --- a/TAO/tao/PortableServer/POA.i +++ b/TAO/tao/PortableServer/POA.i @@ -853,10 +853,30 @@ TAO_POA::waiting_destruction (void) const return this->waiting_destruction_; } -ACE_INLINE TAO_SYNCH_RECURSIVE_MUTEX & -TAO_POA::single_threaded_lock (void) const +ACE_INLINE void +TAO_POA::establish_servant_lock (PortableServer::Servant servant) { - return *this->single_threaded_lock_; +#if (TAO_HAS_MINIMUM_POA == 0) + if (this->policies ().thread () == PortableServer::SINGLE_THREAD_MODEL) + { + servant->_increment_single_threaded_poa_lock_count (); + } +#else /* TAO_HAS_MINIMUM_POA == 0 */ + ACE_UNUSED_ARG (servant); +#endif /* TAO_HAS_MINIMUM_POA == 0 */ +} + +ACE_INLINE void +TAO_POA::teardown_servant_lock (PortableServer::Servant servant) +{ +#if (TAO_HAS_MINIMUM_POA == 0) + if (this->policies ().thread () == PortableServer::SINGLE_THREAD_MODEL) + { + servant->_decrement_single_threaded_poa_lock_count (); + } +#else /* TAO_HAS_MINIMUM_POA == 0 */ + ACE_UNUSED_ARG (servant); +#endif /* TAO_HAS_MINIMUM_POA == 0 */ } ACE_INLINE TAO_ORB_Core & |