main: switch qemu_set_fd_handler to g_io_add_watch
authorAnthony Liguori <aliguori@us.ibm.com>
Mon, 22 Aug 2011 13:12:53 +0000 (08:12 -0500)
committerAnthony Liguori <aliguori@us.ibm.com>
Thu, 1 Sep 2011 18:12:33 +0000 (13:12 -0500)
commit63159d78e21b9634ceab693114911f2e04c3a2cc
tree414fdb0116a621018747b0e5def57f10ff6e6ee4
parent736274d1d44a6df79768872d2dbbeaf1fa8220d1
main: switch qemu_set_fd_handler to g_io_add_watch

This patch changes qemu_set_fd_handler to be implemented in terms of
g_io_add_watch().  The semantics are a bit different so some glue is required.

qemu_set_fd_handler2 is much harder to convert because of its use of polling.

The glib main loop has the major of advantage of having a proven thread safe
architecture.  By using the glib main loop instead of our own, it will allow us
to eventually introduce multiple I/O threads.

I'm pretty sure that this will work on Win32, but I would appreciate some help
testing.  I think the semantics of g_io_channel_unix_new() are really just tied
to the notion of a "unix fd" and not necessarily unix itself.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
iohandler.c