void
mowgli_global_storage_free(char *name)
{
	mowgli_spinlock_lock(mowgli_global_storage_lock, name, name);
	mowgli_patricia_delete(mowgli_global_storage_dict, name);
	mowgli_spinlock_unlock(mowgli_global_storage_lock, name, name);
}
void
db_unregister_type_handler(const char *type)
{
	return_if_fail(db_types != NULL);
	return_if_fail(type != NULL);

	mowgli_patricia_delete(db_types, type);
}
Beispiel #3
0
int xmlrpc_unregister_method(const char *method)
{
	return_val_if_fail(method != NULL, XMLRPC_ERR_PARAMS);

	mowgli_patricia_delete(XMLRPCCMD, method);

	return XMLRPC_ERR_OK;
}
Beispiel #4
0
static int net_del_from_account(struct a_network *net)
{
	a_log(LINFO, "Deleting network %s from account %s", net->name, net->acct->name);

	mowgli_patricia_delete(net->acct->networks, net->name);

	return 0;
}
Beispiel #5
0
void
mowgli_interface_unregister(mowgli_interface_t *iface)
{
	mowgli_interface_base_t *base_iface = iface;

	mowgli_mutex_lock(&mowgli_interface_lock);
	mowgli_patricia_delete(mowgli_interface_dict, base_iface->id);
	mowgli_mutex_unlock(&mowgli_interface_lock);
}
Beispiel #6
0
static void chanacs_ext_delete(chanacs_exttarget_t *e)
{
	return_if_fail(e != NULL);

	mowgli_patricia_delete(chanacs_exttarget_tree, e->channel);
	strshare_unref(e->channel);
	strshare_unref(entity(e)->name);

	mowgli_heap_free(chanacs_ext_heap, e);
}
Beispiel #7
0
static void
server_ext_delete(struct this_exttarget *e)
{
	return_if_fail(e != NULL);

	mowgli_patricia_delete(server_exttarget_tree, e->server);
	strshare_unref(e->server);
	strshare_unref(entity(e)->name);

	mowgli_heap_free(server_ext_heap, e);
}
Beispiel #8
0
void strshare_unref(char *str)
{
	strshare_t *ss;

	ss = (strshare_t *)str - 1;
	ss->refcount--;
	if (ss->refcount == 0)
	{
		mowgli_patricia_delete(strshare_dict, str);
		free(ss);
	}
}
Beispiel #9
0
void pcommand_delete(const char *token)
{
	pcommand_t *pcmd;

	if (!(pcmd = pcommand_find(token)))
	{
		slog(LG_INFO, "pcommand_delete(): token %s is not registered", token);
		return;
	}

	mowgli_patricia_delete(pcommands, pcmd->token);

	free(pcmd->token);
	pcmd->handler = NULL;
	mowgli_heap_free(pcommand_heap, pcmd);
}
Beispiel #10
0
void strshare_unref(stringref str)
{
	strshare_t *ss;

	if (str == NULL)
		return;

	/* intermediate cast to suppress gcc -Wcast-qual */
	ss = (strshare_t *)(uintptr_t)str - 1;
	ss->refcount--;
	if (ss->refcount == 0)
	{
		mowgli_patricia_delete(strshare_dict, str);
		free(ss);
	}
}
Beispiel #11
0
static void netdata_chan_del(struct a_network *net, const char *name)
{
	struct a_net_chan *chan;

	chan = netdata_chan(net, name);
	if (chan == NULL) {
		a_log(LERROR, "Channel %s does not exist!", name);
		return;
	}

	mowgli_patricia_delete(net->nd.chans, name);

	mowgli_string_destroy(chan->topic);
	mowgli_free(chan->name);
	mowgli_free(chan);
}
Beispiel #12
0
void _moddeinit(module_unload_intent_t intent)
{
	mowgli_patricia_delete(*exttarget_tree, "oper");
}
Beispiel #13
0
void _moddeinit(module_unload_intent_t intent)
{
	mowgli_heap_destroy(chanacs_ext_heap);
	mowgli_patricia_delete(*exttarget_tree, "chanacs");
	mowgli_patricia_destroy(chanacs_exttarget_tree, NULL, NULL);
}