diff options
author | bala <balanatarajan@users.noreply.github.com> | 2002-12-04 17:22:38 +0000 |
---|---|---|
committer | bala <balanatarajan@users.noreply.github.com> | 2002-12-04 17:22:38 +0000 |
commit | d5473fd1f36eef8b51d58350e05ef6b92bd1bb67 (patch) | |
tree | 88125c5e76de4bc842b7414c59db0fb1c8993c24 | |
parent | 2ee26122b393148395aa20f5af8d9d308416bf1f (diff) | |
download | ATCD-d5473fd1f36eef8b51d58350e05ef6b92bd1bb67.tar.gz |
ChangeLogTag: Wed Dec 4 12:14:09 2002 Balachandran Natarajan <bala@isis-server.isis.vanderbilt.edu>
-rw-r--r-- | TAO/ChangeLog | 9 | ||||
-rw-r--r-- | TAO/tao/Reactive_Connect_Strategy.cpp | 19 |
2 files changed, 24 insertions, 4 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog index 6693a56b2fd..a229d589875 100644 --- a/TAO/ChangeLog +++ b/TAO/ChangeLog @@ -1,7 +1,14 @@ +Wed Dec 4 12:14:09 2002 Balachandran Natarajan <bala@isis-server.isis.vanderbilt.edu> + + * tao/Reactive_Connect_Strategy.cpp: Use the LF_Event's standard + calls, like keep_waiting (), successful () and error_detected () + to wait and collect results, instead of using special calls on + the connection handler. + Wed Dec 04 07:05:06 2002 Balachandran Natarajan <bala@isis-server.isis.vanderbilt.edu> * tests/OBV/TC_Alignment/client.dsp: - * tests/OBV/TC_Alignment/server.dsp: Fixed release` configurations. + * tests/OBV/TC_Alignment/server.dsp: Fixed release configurations. Wed Dec 04 06:59:27 2002 Balachandran Natarajan <bala@isis-server.isis.vanderbilt.edu> diff --git a/TAO/tao/Reactive_Connect_Strategy.cpp b/TAO/tao/Reactive_Connect_Strategy.cpp index 3f7cd98b4b8..f089853141c 100644 --- a/TAO/tao/Reactive_Connect_Strategy.cpp +++ b/TAO/tao/Reactive_Connect_Strategy.cpp @@ -57,11 +57,24 @@ TAO_Reactive_Connect_Strategy::wait (TAO_Connection_Handler *ch, { TAO_ORB_Core *orb_core = transport->orb_core (); - while (!ch->is_connect_complete () && - result >= 0) + while (ch->keep_waiting ()) { result = orb_core->run (max_wait_time, 1 ACE_ENV_ARG_PARAMETER); ACE_TRY_CHECK; + + // Did we timeout? If so, stop running the loop. + if (result == 0 && + max_wait_time != 0 && + *max_wait_time == ACE_Time_Value::zero) + { + errno = ETIME; + result = -1; + break; + } + + // Other errors? If so, stop running the loop. + if (result == -1) + break; } } ACE_CATCHANY @@ -71,7 +84,7 @@ TAO_Reactive_Connect_Strategy::wait (TAO_Connection_Handler *ch, ACE_ENDTRY; // Set the result. - if (ch->is_connect_successful () == 0 && result != -1) + if (ch->error_detected () && result != -1) result = -1; return result; |