summaryrefslogtreecommitdiff
path: root/TAO/tao/Wait_On_LF_No_Upcall.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/Wait_On_LF_No_Upcall.cpp')
-rw-r--r--TAO/tao/Wait_On_LF_No_Upcall.cpp13
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;
+ }
}