diff options
Diffstat (limited to 'ACE/ace/Timer_Wheel_T.cpp')
-rw-r--r-- | ACE/ace/Timer_Wheel_T.cpp | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/ACE/ace/Timer_Wheel_T.cpp b/ACE/ace/Timer_Wheel_T.cpp index b860c1604dd..d7734e6b120 100644 --- a/ACE/ace/Timer_Wheel_T.cpp +++ b/ACE/ace/Timer_Wheel_T.cpp @@ -148,7 +148,7 @@ ACE_Timer_Wheel_T<TYPE, FUNCTOR, ACE_LOCK>::open_i this->free_list_->resize (prealloc + this->spoke_count_); - this->wheel_time_.msec (1 << (this->res_bits_ + this->spoke_bits_)); + this->wheel_time_.msec (1 << (this->res_bits_)); ACE_NEW (this->spokes_, ACE_Timer_Node_T<TYPE>* [this->spoke_count_]); @@ -834,10 +834,7 @@ ACE_Timer_Wheel_T<TYPE, FUNCTOR, ACE_LOCK>::expire (const ACE_Time_Value& cur_ti { // Make sure that we skip past values that have already // "expired". - do - n->set_timer_value (n->get_timer_value () + - n->get_interval ()); - while (n->get_timer_value () <= cur_time); + this->recompute_next_abs_interval_time (n, cur_time); this->reschedule (n); } |