diff options
Diffstat (limited to 'TAO/tao/Wait_On_LF_No_Upcall.cpp')
-rw-r--r-- | TAO/tao/Wait_On_LF_No_Upcall.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/TAO/tao/Wait_On_LF_No_Upcall.cpp b/TAO/tao/Wait_On_LF_No_Upcall.cpp index 539d3cfe76d..cf06846b4e2 100644 --- a/TAO/tao/Wait_On_LF_No_Upcall.cpp +++ b/TAO/tao/Wait_On_LF_No_Upcall.cpp @@ -85,4 +85,17 @@ namespace TAO return base::wait (max_wait_time, rd); } + bool + Wait_On_LF_No_Upcall::can_process_upcalls (void) const + { + TAO_ORB_Core_TSS_Resources *tss = + this->transport_->orb_core()->get_tss_resources (); + + if ((this->transport_->opened_as () == TAO::TAO_CLIENT_ROLE) && + (this->transport_->bidirectional_flag () == 0) && + (tss->upcalls_temporarily_suspended_on_this_thread_ == true)) + return false; + + return true; + } } |