X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=PPI%2FEvents.cc;h=7aa02989e50ed191fcd3a4f02da811d99c86d058;hb=d5a72d0b3f6fee56dba6de1c54cafb448ebe3457;hp=eb89a50c6a5fd1d56f92b82866d39ac0ef944a2b;hpb=106a248acdea197d60f651643065aeac64f7acf3;p=senf.git diff --git a/PPI/Events.cc b/PPI/Events.cc index eb89a50..7aa0298 100644 --- a/PPI/Events.cc +++ b/PPI/Events.cc @@ -43,13 +43,17 @@ prefix_ void senf::ppi::EventDescriptor::notifyUnthrottle() for (; i != i_end; ++i) if ((*i)->throttled()) break; - if (i == i_end) - enabled(true); + if (i != i_end) + return; + throttled_ = false; + enabled(true); } prefix_ void senf::ppi::EventDescriptor::enabled(bool v) { - SENF_ASSERT(v_isRegistered()); // Module::registerEvent() call missing !! + SENF_ASSERT(v_isRegistered() && "Module::registerEvent() call missing"); + if (throttled_ && v) + return; if (v && ! enabled_) v_enable(); else if (! v && enabled_)