Пример #1
0
void queue_free_all(struct queue *queue)
{
	struct list *list = queue->head;

	list_free_all(list);
	__queue_init(queue);
}
Пример #2
0
static void cleanup_device(osprd_info_t *d)
{
	wake_up_all(&d->blockq);
	if (d->gd) {
		del_gendisk(d->gd);
		put_disk(d->gd);
	}
	if (d->queue)
		blk_cleanup_queue(d->queue);
	if (d->data)
		vfree(d->data);

	list_free_all(d->lock_holder_l);
	list_free_all(d->lock_waiter_l);
	d->lock_holder_l = NULL;
	d->lock_waiter_l = NULL;
}
Пример #3
0
/**
 * Final cleanup.
 */
void G_COLD
ghc_close(void)
{
	if (ghc_connecting) {
		if (ghc_ctx.ha != NULL) {
			http_async_cancel(ghc_ctx.ha);
			ghc_ctx.ha = NULL;
		}
	}

	ghc_connecting = FALSE;
	list_free_all(&ghc_list, cast_to_list_destroy(ghc_free));
}
Пример #4
0
int main(int a, char **b)
{
    list *z = NULL;
    char *data;
    int i = 0;
    printf("adding elements...\n");
    for(i = 0; i < 128000; i++)
    {
        data = malloc(1024);
        data[0] = i;
        z = list_append(z, data);
    }
    system("pause");
    list_free_all(z);
    printf("freeing...\n");
    system("pause");
    return 0;
}
Пример #5
0
void list_destroy(list_ptr_t *list){
    list_free_all(list);
}
Пример #6
0
void list_destruct(linked_list_t* list, list_elem_fun f)
{
    list_map(list,f);
    list_free_all(list);
}