summaryrefslogtreecommitdiff
path: root/TAO/tao/Strategies/SHMIOP_Connection_Handler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/Strategies/SHMIOP_Connection_Handler.cpp')
-rw-r--r--TAO/tao/Strategies/SHMIOP_Connection_Handler.cpp41
1 files changed, 3 insertions, 38 deletions
diff --git a/TAO/tao/Strategies/SHMIOP_Connection_Handler.cpp b/TAO/tao/Strategies/SHMIOP_Connection_Handler.cpp
index 072f7eb987a..4abbb20eea1 100644
--- a/TAO/tao/Strategies/SHMIOP_Connection_Handler.cpp
+++ b/TAO/tao/Strategies/SHMIOP_Connection_Handler.cpp
@@ -52,21 +52,8 @@ TAO_SHMIOP_Connection_Handler::TAO_SHMIOP_Connection_Handler (TAO_ORB_Core *orb_
TAO_SHMIOP_Connection_Handler::~TAO_SHMIOP_Connection_Handler (void)
{
-
- // If the socket has not already been closed.
- if (this->get_handle () != ACE_INVALID_HANDLE)
- {
- // Cannot deal with errors, and therefore they are ignored.
- this->transport_.send_buffered_messages ();
- }
- else
- {
- // Dequeue messages and delete message blocks.
- this->transport_.dequeue_all ();
- }
}
-
int
TAO_SHMIOP_Connection_Handler::open (void*)
{
@@ -196,21 +183,10 @@ TAO_SHMIOP_Connection_Handler::handle_close (ACE_HANDLE handle,
// passed to the reactor on ORB destruction.
this->is_registered (0);
- // Close the handle..
- if (this->get_handle () != ACE_INVALID_HANDLE)
- {
- // Send the buffered messages first
- this->transport_.send_buffered_messages ();
-
- this->peer ().close ();
-
- // Purge the entry too
- this->mark_invalid ();
- }
+ this->peer ().remove ();
// Decrement the reference count
this->decr_ref_count ();
-
}
return 0;
@@ -222,28 +198,17 @@ TAO_SHMIOP_Connection_Handler::fetch_handle (void)
return this->get_handle ();
}
-
int
TAO_SHMIOP_Connection_Handler::handle_timeout (const ACE_Time_Value &,
const void *)
{
- // This method is called when buffering timer expires.
- //
- ACE_Time_Value *max_wait_time = 0;
-
- TAO_Stub *stub = 0;
- int has_timeout;
- this->orb_core ()->call_timeout_hook (stub,
- has_timeout,
- *max_wait_time);
-
// Cannot deal with errors, and therefore they are ignored.
- this->transport ()->send_buffered_messages (max_wait_time);
+ if (this->transport ()->handle_output () == -1)
+ return -1;
return 0;
}
-
int
TAO_SHMIOP_Connection_Handler::close (u_long)
{