checkout working scheduler
diff --git a/src/event-scheduler.cpp b/src/event-scheduler.cpp
index 1c892d6..be67aad 100644
--- a/src/event-scheduler.cpp
+++ b/src/event-scheduler.cpp
@@ -79,11 +79,9 @@
m_invoked = false;
}
-PeriodicTask::PeriodicTask(const Callback &callback, const Tag &tag, const SchedulerPtr &scheduler, const IntervalGeneratorPtr &generator, int repeat)
+PeriodicTask::PeriodicTask(const Callback &callback, const Tag &tag, const SchedulerPtr &scheduler, const IntervalGeneratorPtr &generator)
: Task(callback, tag, scheduler)
, m_generator(generator)
- , m_repeat(repeat)
- , m_indefinite(m_repeat > 0)
{
}
@@ -94,22 +92,7 @@
{
m_callback();
m_invoked = true;
- if (m_indefinite)
- {
- m_scheduler->rescheduleTask(m_tag);
- }
- else
- {
- m_repeat--;
- if (m_repeat > 0)
- {
- m_scheduler->rescheduleTask(m_tag);
- }
- else
- {
- deregisterSelf();
- }
- }
+ m_scheduler->rescheduleTask(m_tag);
}
}
@@ -121,12 +104,6 @@
setTv(interval);
}
-void
-PeriodicTask::deregisterSelf()
-{
- m_scheduler->deleteTask(m_tag);
-}
-
RandomIntervalGenerator::RandomIntervalGenerator(double interval, double percent, Direction direction)
: m_interval(interval)
, m_rng(time(NULL))