Beispiel #1
0
/*
 * destroy function
 */
static void destroy(void)
{
	LM_DBG("start\n");
	
	if(rls_table)
	{
		if(rls_db)
			rlsubs_table_update(0, 0);
		pres_destroy_shtable(rls_table, hash_size);
	}
	if(rls_db && rls_dbf.close)
		rls_dbf.close(rls_db);
	if(rlpres_db && rlpres_dbf.close)
		rlpres_dbf.close(rlpres_db);
	if(rls_xcap_db && rls_xcap_dbf.close)
		rls_xcap_dbf.close(rls_xcap_db);

	if (rls_update_subs_lock != NULL)
	{
		lock_destroy(rls_update_subs_lock);
		lock_dealloc(rls_update_subs_lock);
	}

	if (rls_notifier_id != NULL)
		shm_free(rls_notifier_id);
}
Beispiel #2
0
static struct mi_root* mi_cleanup(struct mi_root* cmd, void *param)
{
	LM_DBG("mi_cleanup:start\n");

	(void)rlsubs_table_update(0,0);
	(void)rls_presentity_clean(0,0);

	return init_mi_tree(200, MI_OK_S, MI_OK_LEN);
}
Beispiel #3
0
/*
 * destroy function
 */
void destroy(void)
{
	LM_DBG("start\n");
	
	if(rls_table)
	{
		if(rls_db)
			rlsubs_table_update(0, 0);
		pres_destroy_shtable(rls_table, hash_size);
	}
	if(rls_db && rls_dbf.close)
		rls_dbf.close(rls_db);
}