summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--TAO/ChangeLog9
-rw-r--r--TAO/tao/IIOP_Connection_Handler.cpp2
2 files changed, 10 insertions, 1 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index fbfffbcb1a7..ef3b91b035b 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,3 +1,12 @@
+Tue Aug 29 17:40:01 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * tao/IIOP_Connection_Handler.cpp:
+ Explicitly call release_os_resources from the dtor.
+ Release_os_resources is a virtual method, but of course calling
+ that from the base class's destructor won't work. This fix
+ ensures that sockets are really closed when the connection
+ handler is destroyed.
+
Tue Aug 29 17:26:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tests/Bug_2560_Regression/Bug_2560_Regression.mpc:
diff --git a/TAO/tao/IIOP_Connection_Handler.cpp b/TAO/tao/IIOP_Connection_Handler.cpp
index 1ed95ca6a6c..f8d724d6c12 100644
--- a/TAO/tao/IIOP_Connection_Handler.cpp
+++ b/TAO/tao/IIOP_Connection_Handler.cpp
@@ -60,6 +60,7 @@ TAO_IIOP_Connection_Handler::TAO_IIOP_Connection_Handler (TAO_ORB_Core *orb_core
TAO_IIOP_Connection_Handler::~TAO_IIOP_Connection_Handler (void)
{
delete this->transport ();
+ this->release_os_resources();
}
/* Copy hook that copies over the concrete methods from this class
@@ -275,7 +276,6 @@ TAO_IIOP_Connection_Handler::close_connection (void)
struct linger lval;
lval.l_onoff = 1;
lval.l_linger = (u_short)linger;
-
if (this->peer ().set_option(SOL_SOCKET,
SO_LINGER,
(void*) &lval,