On Thu, 2017-10-05 at 14:24 +0200, Toke Høiland-Jørgensen wrote:

> > +   for (;;) {
> > +           head = &tin->new_flows;
> > +           if (list_empty(head)) {
> > +                   head = &tin->old_flows;
> > +                   if (list_empty(head))
> > +                           break;
> > +           }
> > +
> > +           flow = list_first_entry(head, struct fq_flow, flowchain);
> > +           fq_flow_filter(fq, flow, filter_func, filter_data, free_func);
> > +   }
> 
> Isn't this going to loop forever?

Good question, I'll admit that I copied this without understanding it
from fq_tin_reset(), and didn't think about it much.

I think you're right though - I guess this needs to iterate the
new_flows and old_flows.

johannes

Reply via email to