You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by as...@apache.org on 2009/08/07 03:53:34 UTC

svn commit: r801857 - /qpid/trunk/qpid/cpp/src/qpid/sys/Timer.cpp

Author: astitcher
Date: Fri Aug  7 01:53:34 2009
New Revision: 801857

URL: http://svn.apache.org/viewvc?rev=801857&view=rev
Log:
When setting up the next fire time for a Timer make sure it can't be in the past.

Modified:
    qpid/trunk/qpid/cpp/src/qpid/sys/Timer.cpp

Modified: qpid/trunk/qpid/cpp/src/qpid/sys/Timer.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/sys/Timer.cpp?rev=801857&r1=801856&r2=801857&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/sys/Timer.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/sys/Timer.cpp Fri Aug  7 01:53:34 2009
@@ -55,9 +55,10 @@
     fire();
 }
 
+// This can only be used to setup the next fire time. After the Timer has already fired
 void TimerTask::setupNextFire() {
     if (period && readyToFire()) {
-        nextFireTime = AbsTime(nextFireTime, period);
+        nextFireTime = max(AbsTime::now(), AbsTime(nextFireTime, period));
         cancelled = false;
     } else {
         QPID_LOG(error, "Couldn't setup next timer firing: " << Duration(nextFireTime, AbsTime::now()) << "[" << period << "]");



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org