ret_t cherokee_resolv_cache_mrproper (cherokee_resolv_cache_t *resolv) { cherokee_avl_mrproper (&resolv->table, entry_free); CHEROKEE_RWLOCK_DESTROY (&resolv->lock); return ret_ok; }
static ret_t _free (void *p) { cherokee_rule_extensions_t *rule = RULE_EXTENSIONS(p); cherokee_avl_mrproper (&rule->extensions, NULL); return ret_ok; }
ret_t cherokee_resolv_cache_clean (cherokee_resolv_cache_t *resolv) { CHEROKEE_RWLOCK_WRITER (&resolv->lock); cherokee_avl_mrproper (&resolv->table, entry_free); CHEROKEE_RWLOCK_UNLOCK (&resolv->lock); return ret_ok; }
ret_t cherokee_plugin_loader_mrproper (cherokee_plugin_loader_t *loader) { cherokee_buffer_mrproper (&loader->module_dir); cherokee_buffer_mrproper (&loader->deps_dir); cherokee_avl_mrproper (&loader->table, free_entry); return ret_ok; }
ret_t cherokee_handler_proxy_hosts_mrproper (cherokee_handler_proxy_hosts_t *hosts) { CHEROKEE_MUTEX_DESTROY (&hosts->hosts_mutex); cherokee_avl_mrproper (&hosts->hosts, poll_free); cherokee_buffer_mrproper (&hosts->tmp); return ret_ok; }
ret_t cherokee_avl_r_mrproper (cherokee_avl_r_t *avl_r, cherokee_func_free_t free_func) { if (avl_r->priv) { CHEROKEE_RWLOCK_DESTROY (AVL_R_LOCK(avl_r)); free (avl_r->priv); } return cherokee_avl_mrproper (&avl_r->avl, free_func); }
ret_t cherokee_regex_table_free (cherokee_regex_table_t *table) { CHEROKEE_RWLOCK_DESTROY (&table->rwlock); cherokee_avl_mrproper (AVL_GENERIC(&table->cache), free); free(table); return ret_ok; }