X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=PPI%2FIntervalTimer.cc;h=287d88ae8fbc70ddd9fab65349fc6a065799c3be;hb=0327b3f303ea2a61d44a30bfaac022874dcf2a0d;hp=766fc1692148c4ad806ad81fcd30a7c5215b890b;hpb=51eecff12414ff9a0e99b398c1befb5aa438fd71;p=senf.git diff --git a/PPI/IntervalTimer.cc b/PPI/IntervalTimer.cc index 766fc16..287d88a 100644 --- a/PPI/IntervalTimer.cc +++ b/PPI/IntervalTimer.cc @@ -50,6 +50,7 @@ prefix_ void senf::ppi::IntervalTimer::v_enable() prefix_ void senf::ppi::IntervalTimer::v_disable() { Scheduler::instance().cancelTimeout(id_); + id_ = 0; } prefix_ void senf::ppi::IntervalTimer::schedule() @@ -61,6 +62,8 @@ prefix_ void senf::ppi::IntervalTimer::schedule() prefix_ void senf::ppi::IntervalTimer::cb() { callback(info_, info_.expected); + if (! enabled()) + return; ++ info_.number; if (info_.number >= eventsPerInterval_) { info_.number = 0;