void avahi_dbus_async_host_name_resolver_free(AsyncHostNameResolverInfo *i) {
    assert(i);

    if (i->host_name_resolver)
        avahi_s_host_name_resolver_free(i->host_name_resolver);
    dbus_connection_unregister_object_path(server->bus, i->path);
    AVAHI_LLIST_REMOVE(AsyncHostNameResolverInfo, async_host_name_resolvers, i->client->async_host_name_resolvers, i);

    i->client->n_objects--;
    assert(i->client->n_objects >= 0);

    avahi_free(i);
}
Exemplo n.º 2
0
static void client_free(Client *c) {
    assert(c);

    assert(c->server->n_clients >= 1);
    c->server->n_clients--;

    if (c->host_name_resolver)
        avahi_s_host_name_resolver_free(c->host_name_resolver);

    if (c->address_resolver)
        avahi_s_address_resolver_free(c->address_resolver);

    if (c->dns_server_browser)
        avahi_s_dns_server_browser_free(c->dns_server_browser);

    c->server->poll_api->watch_free(c->watch);
    close(c->fd);

    AVAHI_LLIST_REMOVE(Client, clients, c->server->clients, c);
    avahi_free(c);
}