diff options
author | bala <balanatarajan@users.noreply.github.com> | 2003-01-06 23:34:53 +0000 |
---|---|---|
committer | bala <balanatarajan@users.noreply.github.com> | 2003-01-06 23:34:53 +0000 |
commit | ecc36f7568c8c9cfbf65fc66242dc1d938912e71 (patch) | |
tree | 1c64c8372a24199e5eaf6d85478f3ed2f8fbd936 | |
parent | 20fd23f1a2a84c949e3d3b8e35e9a7ea152e0e2d (diff) | |
download | ATCD-ecc36f7568c8c9cfbf65fc66242dc1d938912e71.tar.gz |
ChangeLogTag: Mon Jan 6 17:31:03 2003 Balachandran Natarajan <bala@isis-server.isis.vanderbilt.edu>
-rw-r--r-- | TAO/ChangeLog | 11 | ||||
-rw-r--r-- | TAO/tao/LF_Connect_Strategy.cpp | 2 | ||||
-rw-r--r-- | TAO/tao/Reactive_Connect_Strategy.cpp | 8 |
3 files changed, 14 insertions, 7 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog index f5047cb9f04..3e2c2e12f54 100644 --- a/TAO/ChangeLog +++ b/TAO/ChangeLog @@ -1,3 +1,14 @@ +Mon Jan 6 17:31:03 2003 Balachandran Natarajan <bala@isis-server.isis.vanderbilt.edu> + + * tao/Reactive_Connect_Strategy.cpp: + * tao/LF_Connect_Strategy.cpp: Used the cached pointer to access + the ORB_Core, instead of accessing the ORB_Core in the + transport. The reason why this should be done this way is too + involved to explain here, but suffice to say that in highly + multi-threaded environments the transports could dis-sappear + before the connection handlers. Accessing the ORB_Core from the + transport could then lead to vague crashes. + Mon Jan 6 17:12:40 2003 Balachandran Natarajan <bala@isis-server.isis.vanderbilt.edu> diff --git a/TAO/tao/LF_Connect_Strategy.cpp b/TAO/tao/LF_Connect_Strategy.cpp index 69e7e3ddbcd..698ade4f464 100644 --- a/TAO/tao/LF_Connect_Strategy.cpp +++ b/TAO/tao/LF_Connect_Strategy.cpp @@ -71,7 +71,7 @@ TAO_LF_Connect_Strategy::wait (TAO_Connection_Handler *ch, } TAO_Leader_Follower &leader_follower = - transport->orb_core ()->leader_follower (); + this->orb_core_->leader_follower (); int result = leader_follower.wait_for_event (ch, diff --git a/TAO/tao/Reactive_Connect_Strategy.cpp b/TAO/tao/Reactive_Connect_Strategy.cpp index f089853141c..7d3af7b322f 100644 --- a/TAO/tao/Reactive_Connect_Strategy.cpp +++ b/TAO/tao/Reactive_Connect_Strategy.cpp @@ -47,19 +47,15 @@ TAO_Reactive_Connect_Strategy::wait (TAO_Connection_Handler *ch, ACE_LIB_TEXT ("(%P|%t) Waiting in the Reactor for") ACE_LIB_TEXT (" connection completion - wait () \n"))); - TAO_Transport *transport = - ch->transport (); - int result = 0; ACE_DECLARE_NEW_CORBA_ENV; ACE_TRY { - TAO_ORB_Core *orb_core = transport->orb_core (); - while (ch->keep_waiting ()) { - result = orb_core->run (max_wait_time, 1 ACE_ENV_ARG_PARAMETER); + result = + this->orb_core_->run (max_wait_time, 1 ACE_ENV_ARG_PARAMETER); ACE_TRY_CHECK; // Did we timeout? If so, stop running the loop. |