X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Utils%2FLogger%2FTarget.cc;h=068631c7df3e5cbbd7d4778d33c7441f422437f2;hb=5bf459d443ab7cef04116bc0cb95e1af0178334f;hp=2cc923d004c1e3ff06eb3ac0dff08b8cbf042737;hpb=09a763012dd7b394c8bae6ed720e681273a0e94a;p=senf.git diff --git a/Utils/Logger/Target.cc b/Utils/Logger/Target.cc index 2cc923d..068631c 100644 --- a/Utils/Logger/Target.cc +++ b/Utils/Logger/Target.cc @@ -85,6 +85,8 @@ prefix_ void senf::log::Target::unroute(std::string const & stream, std::string prefix_ void senf::log::Target::unroute(int index) { + if (rib_.empty()) + return; RIB::iterator i; if (index < 0) { if (RIB::size_type(-index) >= rib_.size()) @@ -110,6 +112,17 @@ prefix_ void senf::log::Target::unroute(int index) updateRoutingCache(entry.stream_, entry.area_); } +prefix_ void senf::log::Target::flush() +{ + RIB old; + rib_.swap(old); + RIB::const_iterator i (old.begin()); + RIB::const_iterator const i_end (old.end()); + for (; i != i_end; ++i) + if (i->action_ == ACCEPT) + updateRoutingCache(i->stream_, i->area_); +} + //////////////////////////////////////// // private members