void qd_config_listener_free(qd_config_listener_t *cl) { if (cl->listener) { qd_server_listener_close(cl->listener); qd_server_listener_free(cl->listener); } free(cl); }
void qd_connection_manager_delete_listener(qd_dispatch_t *qd, void *impl) { qd_config_listener_t *cl = (qd_config_listener_t*)impl; if(cl) { qd_server_listener_close(cl->listener); DEQ_REMOVE(qd->connection_manager->config_listeners, cl); qd_config_listener_free(cl); } }
void qd_config_listener_free(qd_connection_manager_t *cm, qd_config_listener_t *cl) { if (cl->listener) { qd_server_listener_close(cl->listener); qd_server_listener_free(cl->listener); cl->listener = 0; } if (cl->ssl_profile) { sys_atomic_dec(&cl->ssl_profile->ref_count); } free(cl); }