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; }
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; }