[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 2/5] iohandlers: Introduce assign_fd_handlers() and
From: |
Amit Shah |
Subject: |
[Qemu-devel] [PATCH 2/5] iohandlers: Introduce assign_fd_handlers() and remove_fd_handlers |
Date: |
Thu, 13 Jan 2011 18:30:07 +0530 |
This function will be used to assign fd handlers. Future commits will
be enable each handler to be enabled/disabled individually.
Make qemu_set_fd_handler2() a wrapper to assign_fd_handlers().
remove_fd_handlers() removes all the assigned handlers and marks the
iohandler for deletion. It's a wrapper to assign_fd_handlers() with
NULL handlers.
Signed-off-by: Amit Shah <address@hidden>
---
qemu-char.h | 6 ++++++
vl.c | 24 +++++++++++++++++++-----
2 files changed, 25 insertions(+), 5 deletions(-)
diff --git a/qemu-char.h b/qemu-char.h
index e6ee6c4..0ef83f4 100644
--- a/qemu-char.h
+++ b/qemu-char.h
@@ -109,6 +109,12 @@ size_t qemu_chr_mem_osize(const CharDriverState *chr);
/* async I/O support */
+int assign_fd_handlers(int fd,
+ IOCanReadHandler *fd_read_poll,
+ IOHandler *fd_read,
+ IOHandler *fd_write,
+ void *opaque);
+void remove_fd_handlers(int fd);
int qemu_set_fd_handler2(int fd,
IOCanReadHandler *fd_read_poll,
IOHandler *fd_read,
diff --git a/vl.c b/vl.c
index 9e365f6..38e0a3c 100644
--- a/vl.c
+++ b/vl.c
@@ -1036,11 +1036,11 @@ static IOHandlerRecord *get_iohandler(int fd)
/* XXX: fd_read_poll should be suppressed, but an API change is
necessary in the character devices to suppress fd_can_read(). */
-int qemu_set_fd_handler2(int fd,
- IOCanReadHandler *fd_read_poll,
- IOHandler *fd_read,
- IOHandler *fd_write,
- void *opaque)
+int assign_fd_handlers(int fd,
+ IOCanReadHandler *fd_read_poll,
+ IOHandler *fd_read,
+ IOHandler *fd_write,
+ void *opaque)
{
IOHandlerRecord *ioh;
@@ -1066,6 +1066,20 @@ int qemu_set_fd_handler2(int fd,
return 0;
}
+void remove_fd_handlers(int fd)
+{
+ assign_fd_handlers(fd, NULL, NULL, NULL, NULL);
+}
+
+int qemu_set_fd_handler2(int fd,
+ IOCanReadHandler *fd_read_poll,
+ IOHandler *fd_read,
+ IOHandler *fd_write,
+ void *opaque)
+{
+ return assign_fd_handlers(fd, fd_read_poll, fd_read, fd_write, opaque);
+}
+
int qemu_set_fd_handler(int fd,
IOHandler *fd_read,
IOHandler *fd_write,
--
1.7.3.4
[Qemu-devel] [PATCH 4/5] iohandlers: Enable an iohandler only if the associated handler exists, Amit Shah, 2011/01/13
[Qemu-devel] [PATCH 5/5] iohandlers: Add IOHandlerOps struct, Amit Shah, 2011/01/13