/*! @brief Empty a queue. @ingroup queue_access @param q Queue. */ void vq_empty(vqueue *q) { int i; VQ_CHECK(q); for (i = 1; i < q->entries; i++) { if (QVAL(q, i)->val != NULL) vs_destroy(QVAL(q, i)->val); V_DEALLOC(QVAL(q, i)); } q->entries = 1; }
void rls_mod_destroy(void) { /*int i, cnt; char *s;*/ DEBUG_LOG("RLS module cleanup\n"); /* destroy used XCAP servers */ /* DEBUG_LOG(" ... xcap servers\n"); if (xcap_servers) { cnt = ptr_vector_size(xcap_servers); DEBUG_LOG(" count = %d\n", cnt); for (i = 0; i < cnt; i++) { s = ptr_vector_get(xcap_servers, i); if (s) { DEBUG_LOG(" ... freeing %s (%p)\n", s, s); cds_free(s); } } ptr_vector_destroy(xcap_servers); mem_free(xcap_servers); xcap_servers = NULL; } */ DEBUG_LOG(" ... rls\n"); rls_destroy(); DEBUG_LOG(" ... vs\n"); vs_destroy(); DEBUG_LOG(" ... time event management\n"); time_event_management_destroy(); DEBUG_LOG(" %s: ... db\n", __func__); if (use_db) { if (rls_db && rls_dbf.close) rls_dbf.close(rls_db); rls_db = NULL; } DEBUG_LOG(" ... common libs\n"); qsa_cleanup(); /* ??? if other module uses this libraries it might be a problem ??? */ /* xmlCleanupParser(); */ DEBUG_LOG("RLS module cleanup finished\n"); }