summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbala <balanatarajan@users.noreply.github.com>2002-12-04 17:22:38 +0000
committerbala <balanatarajan@users.noreply.github.com>2002-12-04 17:22:38 +0000
commitd5473fd1f36eef8b51d58350e05ef6b92bd1bb67 (patch)
tree88125c5e76de4bc842b7414c59db0fb1c8993c24
parent2ee26122b393148395aa20f5af8d9d308416bf1f (diff)
downloadATCD-d5473fd1f36eef8b51d58350e05ef6b92bd1bb67.tar.gz
ChangeLogTag: Wed Dec 4 12:14:09 2002 Balachandran Natarajan <bala@isis-server.isis.vanderbilt.edu>
-rw-r--r--TAO/ChangeLog9
-rw-r--r--TAO/tao/Reactive_Connect_Strategy.cpp19
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;