Message ID | 20170210134439.26343-1-zajec5@gmail.com |
---|---|
State | Accepted |
Headers | show |
On 10/02/2017 14:44, Rafał Miłecki wrote: > From: Rafał Miłecki <rafal@milecki.pl> > > In function service_announce_services we iterate over services and > handle every single one so calling service_reply which also iterates > doesn't make sense. > > In simple cases it was just wasting CPU cycles. We got service, we were > passing its name and we were looking for it again comparing names. > In cases with one service available on few different ports it was worse. > For every iterated service we were announcing that one and all other > sharing the same name. It resulted in sending n^2 records. > > Signed-off-by: Rafał Miłecki <rafal@milecki.pl> Acked-by: John Crispin <john@phrozen.org> > --- > service.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/service.c b/service.c > index 182b2b2..bb87aff 100644 > --- a/service.c > +++ b/service.c > @@ -179,7 +179,7 @@ service_announce_services(struct interface *iface, const char *service, int ttl) > else > dns_send_answer(iface, sdudp); > } > - service_reply(iface, s->service, ttl); > + service_reply_single(iface, s, ttl, 0); > } > } > >
diff --git a/service.c b/service.c index 182b2b2..bb87aff 100644 --- a/service.c +++ b/service.c @@ -179,7 +179,7 @@ service_announce_services(struct interface *iface, const char *service, int ttl) else dns_send_answer(iface, sdudp); } - service_reply(iface, s->service, ttl); + service_reply_single(iface, s, ttl, 0); } }