コード例 #1
0
ファイル: hc_resolver.c プロジェクト: korween/oio-sds
void
hc_resolver_destroy(struct hc_resolver_s *r)
{
	if (!r)
		return;
	if (r->csm0.cache)
		lru_tree_destroy(r->csm0.cache);
	if (r->services.cache)
		lru_tree_destroy(r->services.cache);
	g_mutex_clear(&r->lock);
	g_free(r);
}
コード例 #2
0
ファイル: test_lrutree.c プロジェクト: Narthorn/oio-sds
int
main(int argc, char **argv)
{
	struct lru_tree_s *lt;

	(void) argc;
	(void) argv;

	lt = lru_tree_create((GCompareFunc)g_strcmp0, g_free, NULL, 0);
	g_assert(lt != NULL);

	lru_tree_insert(lt, g_strdup("plop"), GINT_TO_POINTER(1));
	lru_tree_insert(lt, g_strdup("plop"), GINT_TO_POINTER(1));
	lru_tree_insert(lt, g_strdup("plip"), GINT_TO_POINTER(1));
	lru_tree_insert(lt, g_strdup("plup"), GINT_TO_POINTER(1));
	lru_tree_get(lt, "plop");
	lru_tree_get(lt, "plop");
	lru_tree_get(lt, "plop");
	lru_tree_get(lt, "plop");

	gpointer k, v;
	while (lru_tree_steal_first(lt, &k, &v)) {
		g_printerr("K %s %p\n", (gchar*)k, v);
		g_free(k);
	}

	lru_tree_destroy(lt);
	return 0;
}