X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=PPI%2FEvents.cc;h=7aa02989e50ed191fcd3a4f02da811d99c86d058;hb=d5a72d0b3f6fee56dba6de1c54cafb448ebe3457;hp=3525d3db9bfdf79424db17d40c7e5da631db6284;hpb=27533e7f97832565f8b3bfdf9e9f957bf1a8ed69;p=senf.git diff --git a/PPI/Events.cc b/PPI/Events.cc index 3525d3d..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"); + if (throttled_ && v) + return; if (v && ! enabled_) v_enable(); else if (! v && enabled_)