static void context_free(Context *context) { assert(context); set_free_with_destructor(context->listen, sd_event_source_unref); set_free_with_destructor(context->connections, connection_free); sd_event_unref(context->event); sd_resolve_unref(context->resolve); }
static void context_free(Context *context) { sd_event_source *es; Connection *c; assert(context); while ((es = set_steal_first(context->listen))) sd_event_source_unref(es); while ((c = set_first(context->connections))) connection_free(c); set_free(context->listen); set_free(context->connections); sd_event_unref(context->event); sd_resolve_unref(context->resolve); }
void manager_free(Manager *m) { if (!m) return; manager_disconnect(m); manager_flush_server_names(m, SERVER_SYSTEM); manager_flush_server_names(m, SERVER_LINK); manager_flush_server_names(m, SERVER_FALLBACK); sd_event_source_unref(m->event_retry); sd_event_source_unref(m->network_event_source); sd_network_monitor_unref(m->network_monitor); sd_resolve_unref(m->resolve); sd_event_unref(m->event); free(m); }