summaryrefslogtreecommitdiff
path: root/TAO/tao/IIOP_Transport.cpp
diff options
context:
space:
mode:
authormk1 <mk1@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-02-14 22:32:59 +0000
committermk1 <mk1@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-02-14 22:32:59 +0000
commit396714e5cc8b267dd50eb08e6880a36e28e58b20 (patch)
tree4a4ac93df385a9822211ae00c8901b50616acdd4 /TAO/tao/IIOP_Transport.cpp
parentc80452713bea73a098ede0f8ac31d3a264743cf7 (diff)
downloadATCD-396714e5cc8b267dd50eb08e6880a36e28e58b20.tar.gz
ChangeLogTag: Wed Feb 14 16:30:23 2001 Michael Kircher <Michael.Kircher@mchp.siemens.de>
Diffstat (limited to 'TAO/tao/IIOP_Transport.cpp')
-rw-r--r--TAO/tao/IIOP_Transport.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/TAO/tao/IIOP_Transport.cpp b/TAO/tao/IIOP_Transport.cpp
index fea6cdfdb40..1370f1dfb65 100644
--- a/TAO/tao/IIOP_Transport.cpp
+++ b/TAO/tao/IIOP_Transport.cpp
@@ -401,13 +401,18 @@ TAO_IIOP_Transport::process_message (void)
// is going to take a look please contact bala@cs.wustl.edu
// for details on this-- Bala
+
+
if (result == -1)
{
+ // Something really critical happened, we will forget about
+ // every reply on this connection.
if (TAO_debug_level > 0)
ACE_ERROR ((LM_ERROR,
ACE_TEXT ("TAO (%P|%t) : IIOP_Client_Transport::")
ACE_TEXT ("handle_client_input - ")
ACE_TEXT ("dispatch reply failed\n")));
+
this->messaging_object_->reset ();
this->tms_->connection_closed ();
return -1;
@@ -416,7 +421,16 @@ TAO_IIOP_Transport::process_message (void)
if (result == 0)
{
this->messaging_object_->reset ();
- return 0;
+
+ // The reply dispatcher was no longer registered.
+ // This can happened when the request/reply
+ // times out.
+ // To throw away all registered reply handlers is
+ // not the right thing, as there might be just one
+ // old reply coming in and several valid new ones
+ // pending. If we would invoke <connection_closed>
+ // we would throw away also the valid ones.
+ //return 0;
}