diff options
author | nw1 <nw1@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1997-06-25 00:44:59 +0000 |
---|---|---|
committer | nw1 <nw1@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1997-06-25 00:44:59 +0000 |
commit | 59396f4f95e08106c3c7515eb9f6a8ee0f17fc23 (patch) | |
tree | f65da094be505cb7e98f4922be3bbba222bd9f08 /ace/Reactor.cpp | |
parent | bc68d7b12de975bf5f3cebf7ce9f2ff91dea4de0 (diff) | |
download | ATCD-59396f4f95e08106c3c7515eb9f6a8ee0f17fc23.tar.gz |
*** empty log message ***
Diffstat (limited to 'ace/Reactor.cpp')
-rw-r--r-- | ace/Reactor.cpp | 9 |
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); |