diff options
-rw-r--r-- | TAO/ChangeLogs/ChangeLog-02a | 9 | ||||
-rw-r--r-- | TAO/tao/ClientRequestInfo_i.cpp | 6 |
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 |