X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=avahi-core%2Fresolve-address.c;h=07cbef4f403bd89dd536722ae3de2e09c87ac5eb;hb=ad7b145ebe82c3a53632eaa6ec75b014d91a7bea;hp=f6fa6358563f261624d5a8b43f65a119c3fe2079;hpb=4247c03f559776793fcc4f28706d3bf0bced57b9;p=catta diff --git a/avahi-core/resolve-address.c b/avahi-core/resolve-address.c index f6fa635..07cbef4 100644 --- a/avahi-core/resolve-address.c +++ b/avahi-core/resolve-address.c @@ -46,8 +46,10 @@ static void finish(AvahiAddressResolver *r, gint interface, guchar protocol, Ava avahi_record_browser_free(r->record_browser); r->record_browser = NULL; - avahi_time_event_queue_remove(r->server->time_event_queue, r->time_event); - r->time_event = NULL; + if (r->time_event) { + avahi_time_event_queue_remove(r->server->time_event_queue, r->time_event); + r->time_event = NULL; + } r->callback(r, interface, protocol, event, &r->address, record ? record->data.ptr.name : NULL, r->userdata); } @@ -94,6 +96,11 @@ AvahiAddressResolver *avahi_address_resolver_new(AvahiServer *server, gint inter r->callback = callback; r->userdata = userdata; + avahi_elapse_time(&tv, 1000, 0); + r->time_event = avahi_time_event_queue_add(server->time_event_queue, &tv, time_event_callback, r); + + AVAHI_LLIST_PREPEND(AvahiAddressResolver, resolver, server->address_resolvers, r); + if (address->family == AF_INET) n = avahi_reverse_lookup_name_ipv4(&address->data.ipv4); else @@ -104,11 +111,6 @@ AvahiAddressResolver *avahi_address_resolver_new(AvahiServer *server, gint inter r->record_browser = avahi_record_browser_new(server, interface, protocol, k, record_browser_callback, r); avahi_key_unref(k); - - avahi_elapse_time(&tv, 1000, 0); - r->time_event = avahi_time_event_queue_add(server->time_event_queue, &tv, time_event_callback, r); - - AVAHI_LLIST_PREPEND(AvahiAddressResolver, resolver, server->address_resolvers, r); return r; }