summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-03-27 17:13:25 +0000
committercoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-03-27 17:13:25 +0000
commitab2ca5fcb3d17214157bd98e8cc839c4efa62053 (patch)
tree791c00c5deac428aa9653d0efaa4605cc4215e99
parente08767228c33e290313caf5ff19b183df069fc26 (diff)
downloadATCD-ab2ca5fcb3d17214157bd98e8cc839c4efa62053.tar.gz
ChangeLogTag:Mon Mar 27 09:11:11 2000 Carlos O'Ryan <coryan@uci.edu>
-rw-r--r--ChangeLog6
-rw-r--r--ChangeLogs/ChangeLog-02a6
-rw-r--r--ChangeLogs/ChangeLog-03a6
-rw-r--r--tests/Reactor_Timer_Test.cpp75
4 files changed, 63 insertions, 30 deletions
diff --git a/ChangeLog b/ChangeLog
index 01a01ba1d50..c54a3378075 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Mon Mar 27 09:11:11 2000 Carlos O'Ryan <coryan@uci.edu>
+
+ * tests/Reactor_Timer_Test.cpp:
+ Change the test to use a non-singleton reactor, with this change
+ it failts under NT.
+
Fri Mar 24 10:30:44 2000 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/LSOCK.cpp (recv_handle): For some reason, Linux allocates an extra
diff --git a/ChangeLogs/ChangeLog-02a b/ChangeLogs/ChangeLog-02a
index 01a01ba1d50..c54a3378075 100644
--- a/ChangeLogs/ChangeLog-02a
+++ b/ChangeLogs/ChangeLog-02a
@@ -1,3 +1,9 @@
+Mon Mar 27 09:11:11 2000 Carlos O'Ryan <coryan@uci.edu>
+
+ * tests/Reactor_Timer_Test.cpp:
+ Change the test to use a non-singleton reactor, with this change
+ it failts under NT.
+
Fri Mar 24 10:30:44 2000 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/LSOCK.cpp (recv_handle): For some reason, Linux allocates an extra
diff --git a/ChangeLogs/ChangeLog-03a b/ChangeLogs/ChangeLog-03a
index 01a01ba1d50..c54a3378075 100644
--- a/ChangeLogs/ChangeLog-03a
+++ b/ChangeLogs/ChangeLog-03a
@@ -1,3 +1,9 @@
+Mon Mar 27 09:11:11 2000 Carlos O'Ryan <coryan@uci.edu>
+
+ * tests/Reactor_Timer_Test.cpp:
+ Change the test to use a non-singleton reactor, with this change
+ it failts under NT.
+
Fri Mar 24 10:30:44 2000 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/LSOCK.cpp (recv_handle): For some reason, Linux allocates an extra
diff --git a/tests/Reactor_Timer_Test.cpp b/tests/Reactor_Timer_Test.cpp
index d1fe88674f5..f610fdc0bda 100644
--- a/tests/Reactor_Timer_Test.cpp
+++ b/tests/Reactor_Timer_Test.cpp
@@ -99,8 +99,9 @@ Time_Handler::handle_timeout (const ACE_Time_Value &tv,
}
else if (current_count == -1)
{
- int result = ACE_Reactor::instance ()->reset_timer_interval (this->timer_id (),
- ACE_Time_Value (count + 1));
+ int result =
+ this->reactor ()->reset_timer_interval (this->timer_id (),
+ ACE_Time_Value (count + 1));
ACE_ASSERT (result != -1);
}
count += (1 + odd);
@@ -120,7 +121,7 @@ Time_Handler::timer_id (long t)
}
static void
-test_registering_all_handlers (void)
+test_registering_all_handlers (ACE_Reactor *reactor)
{
ACE_Trace t ("test_registering_all_handler", __LINE__, __FILE__);
Time_Handler rt[ACE_MAX_TIMERS];
@@ -128,20 +129,21 @@ test_registering_all_handlers (void)
for (size_t i = 0; i < ACE_MAX_TIMERS; i++)
{
+ rt[i].reactor (reactor);
t_id[i] =
- ACE_Reactor::instance ()->schedule_timer (&rt[i],
- (const void *) i,
- ACE_Time_Value (2 * i + 1));
+ reactor->schedule_timer (&rt[i],
+ (const void *) i,
+ ACE_Time_Value (2 * i + 1));
ACE_ASSERT (t_id[i] != -1);
rt[i].timer_id (t_id[i]);
}
while (!done)
- ACE_Reactor::instance ()->handle_events ();
+ reactor->handle_events ();
}
static void
-test_registering_one_handler (void)
+test_registering_one_handler (ACE_Reactor *reactor)
{
ACE_Trace t ("test_registering_one_handler", __LINE__, __FILE__);
Time_Handler rt[ACE_MAX_TIMERS];
@@ -150,21 +152,22 @@ test_registering_one_handler (void)
done = 0;
count = 0;
+ rt[0].reactor (reactor);
for (size_t i = 0; (u_long) i < ACE_MAX_TIMERS; i++)
{
t_id[i] =
- ACE_Reactor::instance ()->schedule_timer (&rt[0],
- (const void *) i,
- ACE_Time_Value (2 * i + 1));
+ reactor->schedule_timer (&rt[0],
+ (const void *) i,
+ ACE_Time_Value (2 * i + 1));
ACE_ASSERT (t_id[i] != -1);
}
while (!done)
- ACE_Reactor::instance ()->handle_events ();
+ reactor->handle_events ();
}
static void
-test_canceling_odd_timers (void)
+test_canceling_odd_timers (ACE_Reactor *reactor)
{
ACE_Trace t ("test_canceling_odd_timers", __LINE__, __FILE__);
Time_Handler rt[ACE_MAX_TIMERS];
@@ -176,9 +179,10 @@ test_canceling_odd_timers (void)
for (size_t i = 0; (u_long) i < ACE_MAX_TIMERS; i++)
{
- t_id[i] = ACE_Reactor::instance ()->schedule_timer (&rt[i],
- (const void *) i,
- ACE_Time_Value (2 * i + 1));
+ rt[i].reactor (reactor);
+ t_id[i] = reactor->schedule_timer (&rt[i],
+ (const void *) i,
+ ACE_Time_Value (2 * i + 1));
ACE_ASSERT (t_id[i] != -1);
rt[i].timer_id (t_id[i]);
}
@@ -188,16 +192,16 @@ test_canceling_odd_timers (void)
if (ACE_ODD (rt[j].timer_id ()))
{
int result =
- ACE_Reactor::instance ()->cancel_timer (rt[j].timer_id ());
+ reactor->cancel_timer (rt[j].timer_id ());
ACE_ASSERT (result != -1);
}
while (!done)
- ACE_Reactor::instance ()->handle_events ();
+ reactor->handle_events ();
}
static void
-test_resetting_timer_intervals (void)
+test_resetting_timer_intervals (ACE_Reactor *reactor)
{
ACE_Trace t ("test_resetting_timer_intervals", __LINE__, __FILE__);
Time_Handler rt;
@@ -207,19 +211,19 @@ test_resetting_timer_intervals (void)
count = 0;
odd = 0;
+ rt.reactor (reactor);
t_id =
- ACE_Reactor::instance ()->schedule_timer
- (&rt,
- (const void *) -1,
- ACE_Time_Value (1),
- // Start off by making this an interval timer.
- ACE_Time_Value (1));
+ reactor->schedule_timer (&rt,
+ (const void *) -1,
+ ACE_Time_Value (1),
+ // Start off by making this an interval timer.
+ ACE_Time_Value (1));
ACE_ASSERT (t_id != -1);
rt.timer_id (t_id);
while (!done)
- ACE_Reactor::instance ()->handle_events ();
+ reactor->handle_events ();
}
int
@@ -227,18 +231,29 @@ main (int, ASYS_TCHAR *[])
{
ACE_START_TEST (ASYS_TEXT ("Reactor_Timer_Test"));
+ ACE_DEBUG ((LM_DEBUG, "Testing with a non-singleton reactor\n"));
+
+ ACE_Reactor other_reactor;
+ test_registering_all_handlers (&other_reactor);
+ test_registering_one_handler (&other_reactor);
+ test_canceling_odd_timers (&other_reactor);
+ test_resetting_timer_intervals (&other_reactor);
+
// Register all different handlers, i.e., one per timer.
- test_registering_all_handlers ();
+ ACE_Reactor *reactor =
+ ACE_Reactor::instance ();
+ test_registering_all_handlers (reactor);
// Now try multiple timers for ONE event handler (should produce the
// same result).
- test_registering_one_handler ();
+ test_registering_one_handler (reactor);
// Try canceling handlers with odd numbered timer ids.
- test_canceling_odd_timers ();
+ test_canceling_odd_timers (reactor);
// Make sure <reset_timer_inverval> works.
- test_resetting_timer_intervals ();
+ test_resetting_timer_intervals (reactor);
+
ACE_END_TEST;
return 0;