summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--TAO/ChangeLogs/ChangeLog-02a9
-rw-r--r--TAO/tao/ClientRequestInfo_i.cpp6
2 files changed, 15 insertions, 0 deletions
diff --git a/TAO/ChangeLogs/ChangeLog-02a b/TAO/ChangeLogs/ChangeLog-02a
index dacf1584c3f..129e9c33b82 100644
--- a/TAO/ChangeLogs/ChangeLog-02a
+++ b/TAO/ChangeLogs/ChangeLog-02a
@@ -1,3 +1,12 @@
+Thu Mar 14 12:03:21 2002 Ossama Othman <ossama@uci.edu>
+
+ * tao/ClientRequestInfo_i.cpp (~TAO_ClientRequestInfo_i):
+
+ Make sure the TSC no longer considers the current RSC its peer
+ since that RSC is destroyed when this ClienRequestInfo object is
+ destroyed. Thanks to Jeffrey Shaffer <jeffs@integ.com> for
+ reporting the problem, and for confirming that this fix works.
+
Thu Mar 14 13:50:59 2002 Chad Elliott <elliott_c@ociweb.com>
Committing this change for Scott Harris <harris_s@ociweb.com>.
diff --git a/TAO/tao/ClientRequestInfo_i.cpp b/TAO/tao/ClientRequestInfo_i.cpp
index 0201005610e..a6b201465c0 100644
--- a/TAO/tao/ClientRequestInfo_i.cpp
+++ b/TAO/tao/ClientRequestInfo_i.cpp
@@ -55,6 +55,12 @@ TAO_ClientRequestInfo_i::TAO_ClientRequestInfo_i (TAO_GIOP_Invocation *inv,
TAO_ClientRequestInfo_i::~TAO_ClientRequestInfo_i (void)
{
+ // Make sure the TSC no longer considers the current RSC its peer
+ // since that RSC is destroyed when this ClienRequestInfo object is
+ // destroyed.
+ TAO_PICurrent_Impl *tsc = this->rs_pi_current_.pi_peer ();
+ if (tsc != 0)
+ tsc->pi_peer (0);
}
CORBA::Object_ptr