[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 07/16] Handle deleted IOHandlers in a single buffer
From: |
Juan Quintela |
Subject: |
[Qemu-devel] [PATCH 07/16] Handle deleted IOHandlers in a single buffer |
Date: |
Thu, 11 Mar 2010 17:55:41 +0100 |
Signed-off-by: Juan Quintela <address@hidden>
---
vl.c | 17 +++++++----------
1 files changed, 7 insertions(+), 10 deletions(-)
diff --git a/vl.c b/vl.c
index e790c6a..52dc4f4 100644
--- a/vl.c
+++ b/vl.c
@@ -3846,20 +3846,17 @@ void main_loop_wait(int timeout)
if (ret > 0) {
IOHandlerRecord *pioh;
- QLIST_FOREACH(ioh, &io_handlers, next) {
- if (!ioh->deleted && ioh->fd_read && FD_ISSET(ioh->fd, &rfds)) {
- ioh->fd_read(ioh->opaque);
- }
- if (!ioh->deleted && ioh->fd_write && FD_ISSET(ioh->fd, &wfds)) {
- ioh->fd_write(ioh->opaque);
- }
- }
-
- /* remove deleted IO handlers */
QLIST_FOREACH_SAFE(ioh, &io_handlers, next, pioh) {
if (ioh->deleted) {
QLIST_REMOVE(ioh, next);
qemu_free(ioh);
+ continue;
+ }
+ if (ioh->fd_read && FD_ISSET(ioh->fd, &rfds)) {
+ ioh->fd_read(ioh->opaque);
+ }
+ if (ioh->fd_write && FD_ISSET(ioh->fd, &wfds)) {
+ ioh->fd_write(ioh->opaque);
}
}
}
--
1.6.6.1