diff options
author | bala <balanatarajan@users.noreply.github.com> | 2002-04-04 04:26:10 +0000 |
---|---|---|
committer | bala <balanatarajan@users.noreply.github.com> | 2002-04-04 04:26:10 +0000 |
commit | 725e73703a67326ed06452ca975b5378ad84c03b (patch) | |
tree | 866f51c285d8f0d3c1cd2a53a0194d493825e847 /TAO/tao/Exclusive_TMS.cpp | |
parent | ddf00484367e672294353272d1c670964963ba00 (diff) | |
download | ATCD-725e73703a67326ed06452ca975b5378ad84c03b.tar.gz |
ChangeLogTag: Wed Apr 3 22:18:38 2002 Balachandran Natarajan <bala@cs.wustl.edu>
Diffstat (limited to 'TAO/tao/Exclusive_TMS.cpp')
-rw-r--r-- | TAO/tao/Exclusive_TMS.cpp | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/TAO/tao/Exclusive_TMS.cpp b/TAO/tao/Exclusive_TMS.cpp index 95cd9d1bd09..0f17f8eddca 100644 --- a/TAO/tao/Exclusive_TMS.cpp +++ b/TAO/tao/Exclusive_TMS.cpp @@ -27,11 +27,27 @@ TAO_Exclusive_TMS::~TAO_Exclusive_TMS (void) CORBA::ULong TAO_Exclusive_TMS::request_id (void) { + this->request_id_generator_++; + + // if TAO_Transport::bidirectional_flag_ + // == 1 --> originating side + // == 0 --> other side + // == -1 --> no bi-directional connection was negotiated + // The originating side must have an even request ID, and the other + // side must have an odd request ID. Make sure that is the case. + int bidir_flag = + this->transport_->bidirectional_flag (); + + if ((bidir_flag == 1 && ACE_ODD (this->request_id_generator_)) + || (bidir_flag == 0 && ACE_EVEN (this->request_id_generator_))) + ++this->request_id_generator_; + if (TAO_debug_level > 4) ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%P|%t) TAO_Exclusive_TMS::request_id - <%d>\n"), this->request_id_generator_)); - return this->request_id_generator_++; + + return this->request_id_generator_; } // Bind the handler with the request id. |