int main() {
	ITEMTYPE removed;
	Dlist *dl = create_dlist();
	add_last_dlist(dl,10);
	add_last_dlist(dl,20);
	add_last_dlist(dl,30);
	add_last_dlist(dl,40);
	add_dlist(dl,70,1);
	add_dlist(dl,80,0);
	remove_dlist(dl,5,&removed);
	remove_dlist(dl,2,&removed);
	remove_dlist(dl,0,&removed);
	set_dlist(dl,0,35);
	remove_element_dlist(dl,20);
	remove_dlist(dl,0,&removed);
	print_dlist(dl);
	int n;
	get_dlist(dl,0,&n);
	printf("testando get_dlist(dl,0,&n) = %d\n",n);
	return 0;
} 
Beispiel #2
0
int set_dirty(cache_t *c, struct ce_t *e, int dirty)
{
	int old = e->dirty;
	e->dirty=dirty;
	if(dirty)
	{
		if(old != dirty) {
			add_dlist(c, e);
			add_atomic(&c->dirty, 1);
		}
	} else
	{
		if(old != dirty) {
			assert(c->dirty);
			sub_atomic(&c->dirty, 1);
			remove_dlist(c, e);
		}
	}
	return old;
}