void acl_mempool_ctl(int name, ...) { const char *myname = "acl_mempool_ctl"; va_list ap; int n; if (__var_allocator == NULL) acl_msg_fatal("%s(%d): call acl_mempool_create first", myname, __LINE__); va_start(ap, name); for (; name != ACL_MEMPOOL_CTL_END; name = va_arg(ap, int)) { switch (name) { case ACL_MEMPOOL_CTL_MUTEX: n = va_arg(ap, int); if (n) mempool_init_with_mutex(); else mempool_init_no_mutex(); break; case ACL_MEMPOOL_CTL_DISABLE: n = va_arg(ap, int); if (n) mempool_close(); break; default: acl_msg_panic("%s: bad name %d", myname, name); } } va_end(ap); }
void MailboxState_free(T *M) { T s = *M; if (s->name) p_string_free(s->name, TRUE); g_tree_destroy(s->keywords); s->keywords = NULL; if (s->msn) g_tree_destroy(s->msn); s->msn = NULL; if (s->ids) g_tree_destroy(s->ids); s->ids = NULL; if (s->msginfo) g_tree_destroy(s->msginfo); s->msginfo = NULL; if (s->recent_queue) { g_tree_foreach(s->recent_queue, (GTraverseFunc)_free_recent_queue, s); g_tree_destroy(s->recent_queue); } s->recent_queue = NULL; gboolean freepool = s->freepool; Mempool_T pool = s->pool; mempool_push(pool, s, sizeof(*s)); if (freepool) { mempool_close(&pool); } s = NULL; }
void teardown(void) { auth_disconnect(); db_disconnect(); config_free(); mempool_close(&queue_pool); }
void acl_mempool_close(void) { if (__use_lock) { MUTEX_DESTROY; __use_lock = 0; } if (__var_allocator != NULL) { acl_allocator_free(__var_allocator); __var_allocator = NULL; } mempool_close(); }
void teardown(void) { Capa_free(&A); mempool_close(&pool); }