diff options
Diffstat (limited to 'TAO/tao/Connection_Handler.inl')
-rw-r--r-- | TAO/tao/Connection_Handler.inl | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/TAO/tao/Connection_Handler.inl b/TAO/tao/Connection_Handler.inl index 2fcd9d21b75..6e982ced480 100644 --- a/TAO/tao/Connection_Handler.inl +++ b/TAO/tao/Connection_Handler.inl @@ -30,6 +30,43 @@ TAO_Connection_Handler::transport (void) return this->transport_; } +ACE_INLINE int +TAO_Connection_Handler::is_connect_complete (void) const +{ + return this->successful () || + this->error_detected (); +} + +ACE_INLINE int +TAO_Connection_Handler::is_connect_successful (void) const +{ + return this->error_detected (); +} + +ACE_INLINE int +TAO_Connection_Handler::incr_refcount (void) +{ + ACE_GUARD_RETURN (ACE_Lock, + ace_mon, + *this->pending_upcall_lock_, -1); + + return ++this->reference_count_; +} + +ACE_INLINE void +TAO_Connection_Handler::decr_refcount (void) +{ + { + ACE_GUARD (ACE_Lock, + ace_mon, + *this->pending_upcall_lock_); + + --this->reference_count_; + } + + if (this->reference_count_ == 0) + this->handle_close_i (); +} ACE_INLINE int TAO_Connection_Handler::incr_pending_upcalls (void) |