void qd_connection_manager_free(qd_connection_manager_t *cm) { if (!cm) return; qd_config_listener_t *cl = DEQ_HEAD(cm->config_listeners); while (cl) { DEQ_REMOVE_HEAD(cm->config_listeners); qd_server_listener_free(cl->listener); qd_server_config_free(&cl->configuration); free(cl); cl = DEQ_HEAD(cm->config_listeners); } qd_config_connector_t *cc = DEQ_HEAD(cm->config_connectors); while(cc) { DEQ_REMOVE_HEAD(cm->config_connectors); qd_server_connector_free(cc->connector); qd_server_config_free(&cc->configuration); free(cc); cc = DEQ_HEAD(cm->config_connectors); } qd_config_connector_t *odc = DEQ_HEAD(cm->on_demand_connectors); while(odc) { DEQ_REMOVE_HEAD(cm->on_demand_connectors); if (odc->connector) qd_server_connector_free(odc->connector); qd_server_config_free(&odc->configuration); free(odc); odc = DEQ_HEAD(cm->on_demand_connectors); } }
void qd_config_connector_free(qd_connection_manager_t *cm, qd_config_connector_t *cc) { if (cc->connector) qd_server_connector_free(cc->connector); if (cc->ssl_profile) { sys_atomic_dec(&cc->ssl_profile->ref_count); } free(cc); }
void qd_config_connector_free(qd_config_connector_t *cc) { if (cc->connector) qd_server_connector_free(cc->connector); free(cc); }