summaryrefslogtreecommitdiff
path: root/ace/Reactor.cpp
diff options
context:
space:
mode:
authornw1 <nw1@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1997-06-25 00:44:59 +0000
committernw1 <nw1@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1997-06-25 00:44:59 +0000
commit59396f4f95e08106c3c7515eb9f6a8ee0f17fc23 (patch)
treef65da094be505cb7e98f4922be3bbba222bd9f08 /ace/Reactor.cpp
parentbc68d7b12de975bf5f3cebf7ce9f2ff91dea4de0 (diff)
downloadATCD-59396f4f95e08106c3c7515eb9f6a8ee0f17fc23.tar.gz
*** empty log message ***
Diffstat (limited to 'ace/Reactor.cpp')
-rw-r--r--ace/Reactor.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/ace/Reactor.cpp b/ace/Reactor.cpp
index a85d968909a..22a2b3a95a1 100644
--- a/ace/Reactor.cpp
+++ b/ace/Reactor.cpp
@@ -1346,6 +1346,8 @@ ACE_Reactor::wait_for_multiple_events (ACE_Reactor_Handle_Set &dispatch_set,
{
ACE_TRACE ("ACE_Reactor::wait_for_multiple_events");
u_long width = 0;
+ ACE_Time_Value timer_buf (0) ;
+ ACE_Time_Value *this_timeout = &timer_buf ;
int number_of_active_handles = this->any_ready (dispatch_set);
@@ -1356,8 +1358,9 @@ ACE_Reactor::wait_for_multiple_events (ACE_Reactor_Handle_Set &dispatch_set,
{
do
{
- (void) this->timer_queue_->calculate_timeout (max_wait_time,
- max_wait_time);
+ if (this->timer_queue_->calculate_timeout (max_wait_time,
+ this_timeout) == 0) {
+ this_timeout = 0 ;
width = (u_long) this->handler_rep_.max_handlep1 ();
@@ -1369,7 +1372,7 @@ ACE_Reactor::wait_for_multiple_events (ACE_Reactor_Handle_Set &dispatch_set,
dispatch_set.rd_mask_,
dispatch_set.wr_mask_,
dispatch_set.ex_mask_,
- max_wait_time);
+ this_timeout);
}
while (number_of_active_handles == -1 && this->handle_error () > 0);