| 371 | } |
| 372 | |
| 373 | void forget(const alloc_data_t *list_search_space, alloc_data_t *current_search_space) |
| 374 | { |
| 375 | struct td_list_head *search_walker = NULL; |
| 376 | struct td_list_head *prev= NULL; |
| 377 | int nbr=0; |
| 378 | if(current_search_space==list_search_space) |
| 379 | return ; |
| 380 | /*@ |
| 381 | @ loop invariant \valid(search_walker); |
| 382 | @*/ |
| 383 | for(search_walker=¤t_search_space->list; |
| 384 | search_walker!=&list_search_space->list; |
| 385 | search_walker=prev) |
| 386 | { |
| 387 | prev=search_walker->prev; |
| 388 | if(nbr>10000) |
| 389 | { |
| 390 | alloc_data_t *tmp; |
| 391 | tmp=td_list_entry(search_walker, alloc_data_t, list); |
| 392 | /*@ assert \valid(tmp); */ |
| 393 | td_list_del(&tmp->list); |
| 394 | free(tmp); |
| 395 | } |
| 396 | else |
| 397 | nbr++; |
| 398 | } |
| 399 | } |
| 400 | |
| 401 | unsigned int remove_used_space(disk_t *disk_car, const partition_t *partition, alloc_data_t *list_search_space) |
| 402 | { |
no test coverage detected