* releasing the walking_handlers lock.
*/
QLIST_REMOVE(node, node);
- qemu_free(node);
+ g_free(node);
}
}
} else {
if (node == NULL) {
/* Alloc and insert if it's not already there */
- node = qemu_mallocz(sizeof(AioHandler));
+ node = g_malloc0(sizeof(AioHandler));
node->fd = fd;
QLIST_INSERT_HEAD(&aio_handlers, node, node);
}
qemu_aio_wait();
QLIST_FOREACH(node, &aio_handlers, node) {
- ret |= node->io_flush(node->opaque);
+ if (node->io_flush) {
+ ret |= node->io_flush(node->opaque);
+ }
}
} while (qemu_bh_poll() || ret > 0);
}
if (tmp->deleted) {
QLIST_REMOVE(tmp, node);
- qemu_free(tmp);
+ g_free(tmp);
}
}