summaryrefslogtreecommitdiff
path: root/TAO/tao/IIOP_Connection_Handler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/IIOP_Connection_Handler.cpp')
-rw-r--r--TAO/tao/IIOP_Connection_Handler.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/TAO/tao/IIOP_Connection_Handler.cpp b/TAO/tao/IIOP_Connection_Handler.cpp
index 315aede9bf4..64031b78804 100644
--- a/TAO/tao/IIOP_Connection_Handler.cpp
+++ b/TAO/tao/IIOP_Connection_Handler.cpp
@@ -23,6 +23,7 @@ ACE_RCSID(tao, IIOP_Connection_Handler, "$Id$")
TAO_IIOP_Connection_Handler::TAO_IIOP_Connection_Handler (ACE_Thread_Manager *t)
: TAO_IIOP_SVC_HANDLER (t, 0 , 0),
TAO_Connection_Handler (0),
+ pending_upcalls_ (1),
tcp_properties_ (0),
resume_flag_ (TAO_DOESNT_RESUME_CONNECTION_HANDLER)
{
@@ -36,17 +37,18 @@ TAO_IIOP_Connection_Handler::TAO_IIOP_Connection_Handler (ACE_Thread_Manager *t)
TAO_IIOP_Connection_Handler::TAO_IIOP_Connection_Handler (TAO_ORB_Core *orb_core,
- CORBA::Boolean flag,
+ CORBA::Boolean /* flag*/,
void *arg)
: TAO_IIOP_SVC_HANDLER (orb_core->thr_mgr (), 0, 0),
TAO_Connection_Handler (orb_core),
+ pending_upcalls_ (1),
tcp_properties_ (ACE_static_cast
(TAO_IIOP_Properties *, arg)),
resume_flag_ (TAO_DOESNT_RESUME_CONNECTION_HANDLER)
{
TAO_IIOP_Transport* specific_transport = 0;
ACE_NEW(specific_transport,
- TAO_IIOP_Transport (this, orb_core, flag));
+ TAO_IIOP_Transport (this, orb_core, 0));
// store this pointer (indirectly increment ref count)
this->transport(specific_transport);
@@ -204,9 +206,8 @@ TAO_IIOP_Connection_Handler::handle_close (ACE_HANDLE handle,
handle,
rm));
- long upcalls = this->decr_pending_upcalls ();
-
- if (upcalls <= 0)
+ --this->pending_upcalls_;
+ if (this->pending_upcalls_ <= 0)
{
if (this->transport ()->wait_strategy ()->is_registered ())
{
@@ -330,7 +331,7 @@ TAO_IIOP_Connection_Handler::handle_input (ACE_HANDLE)
{
// Increase the reference count on the upcall that have passed us.
- this->incr_pending_upcalls ();
+ this->pending_upcalls_++;
this->resume_flag_ = TAO_RESUMES_CONNECTION_HANDLER;
TAO_Resume_Handle resume_handle (this->orb_core (),
@@ -339,7 +340,7 @@ TAO_IIOP_Connection_Handler::handle_input (ACE_HANDLE)
int retval = this->transport ()->handle_input_i (resume_handle);
// The upcall is done. Bump down the reference count
- if (this->decr_pending_upcalls () <= 0)
+ if (--this->pending_upcalls_ <= 0)
retval = -1;
if (retval == -1)