diff options
author | Johnny Willemsen <jwillemsen@remedy.nl> | 2006-05-04 08:51:15 +0000 |
---|---|---|
committer | Johnny Willemsen <jwillemsen@remedy.nl> | 2006-05-04 08:51:15 +0000 |
commit | 12b6d75f8d418dafd7d3bfbf057fdde1cc4822d8 (patch) | |
tree | c09c9b9a7338fe890934d09e2e89d0b53bf00490 /TAO | |
parent | 40a9823d7c79a4d12e09138de62ce38202a2230c (diff) | |
download | ATCD-12b6d75f8d418dafd7d3bfbf057fdde1cc4822d8.tar.gz |
ChangeLogTag: Thu May 4 08:50:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
Diffstat (limited to 'TAO')
-rw-r--r-- | TAO/tao/PI/ClientRequestInfo.cpp | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/TAO/tao/PI/ClientRequestInfo.cpp b/TAO/tao/PI/ClientRequestInfo.cpp index d11d48b1d2e..d2af5d9a2e5 100644 --- a/TAO/tao/PI/ClientRequestInfo.cpp +++ b/TAO/tao/PI/ClientRequestInfo.cpp @@ -52,20 +52,23 @@ TAO_ClientRequestInfo::setup_picurrent (void) // Retrieve the thread scope current. TAO::PICurrent_Impl *tsc = pi_current->tsc (); - // Logically copy the TSC's slot table to the RSC. - this->rs_pi_current_.lc_slot_table (tsc); - - // PICurrent will potentially have to call back on the request - // scope current so that it can deep copy the contents of the - // thread scope current if the contents of the thread scope - // current are about to be modified. It is necessary to do this - // deep copy once in order to completely isolate the request - // scope current from the thread scope current. This is only - // necessary, if the thread scope current is modified after its - // contents have been *logically* copied to the request scope - // current. - this->copy_callback_.src_and_dst (tsc, &this->rs_pi_current_); - tsc->copy_callback (&this->copy_callback_); + if (tsc != 0) + { + // Logically copy the TSC's slot table to the RSC. + this->rs_pi_current_.lc_slot_table (tsc); + + // PICurrent will potentially have to call back on the request + // scope current so that it can deep copy the contents of the + // thread scope current if the contents of the thread scope + // current are about to be modified. It is necessary to do this + // deep copy once in order to completely isolate the request + // scope current from the thread scope current. This is only + // necessary, if the thread scope current is modified after its + // contents have been *logically* copied to the request scope + // current. + this->copy_callback_.src_and_dst (tsc, &this->rs_pi_current_); + tsc->copy_callback (&this->copy_callback_); + } } } |