Lines Matching defs:node
38 QLIST_ENTRY(AioHandler) node;
43 AioHandler *node;
45 QLIST_FOREACH(node, &aio_handlers, node) {
46 if (node->fd == fd)
47 if (!node->deleted)
48 return node;
60 AioHandler *node;
62 node = find_aio_handler(fd);
66 if (node) {
67 /* If the lock is held, just mark the node as deleted */
69 node->deleted = 1;
75 QLIST_REMOVE(node, node);
76 qemu_free(node);
80 if (node == NULL) {
82 node = qemu_mallocz(sizeof(AioHandler));
83 node->fd = fd;
84 QLIST_INSERT_HEAD(&aio_handlers, node, node);
87 node->io_read = io_read;
88 node->io_write = io_write;
89 node->io_flush = io_flush;
90 node->opaque = opaque;
100 AioHandler *node;
112 QLIST_FOREACH(node, &aio_handlers, node) {
113 ret |= node->io_flush(node->opaque);
126 AioHandler *node;
136 QLIST_FOREACH(node, &aio_handlers, node) {
141 if (node->io_flush && node->io_flush(node->opaque) == 0)
144 if (!node->deleted && node->io_read) {
145 FD_SET(node->fd, &rdfds);
146 max_fd = MAX(max_fd, node->fd + 1);
148 if (!node->deleted && node->io_write) {
149 FD_SET(node->fd, &wrfds);
150 max_fd = MAX(max_fd, node->fd + 1);
171 node = QLIST_FIRST(&aio_handlers);
172 while (node) {
175 if (!node->deleted &&
176 FD_ISSET(node->fd, &rdfds) &&
177 node->io_read) {
178 node->io_read(node->opaque);
180 if (!node->deleted &&
181 FD_ISSET(node->fd, &wrfds) &&
182 node->io_write) {
183 node->io_write(node->opaque);
186 tmp = node;
187 node = QLIST_NEXT(node, node);
190 QLIST_REMOVE(tmp, node);