|
From: | Paolo Bonzini |
Subject: | Re: [Qemu-devel] [PATCH 2/2] main: switch qemu_set_fd_handler to g_io_add_watch |
Date: | Fri, 25 Nov 2011 15:49:50 +0100 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20110930 Thunderbird/7.0.1 |
On 11/25/2011 03:46 PM, Fabien Chouteau wrote:
> slirp is fd_set---thus select()---based. iohandler too, though it would likely be simpler to switch it to poll().Right, for slirp and iohandler, but it seems wrong to take file descriptors from g_main_context_query() and put them in the fd_sets for select(). This part is still in the code today.
It's ugly, but it works. There's a fundamental impedence mismatch between glib and slirp/iohandler. Either you convert glib's pollfds to fd_sets, or you take slirp and iohandler's fd_sets and put them in pollfds. Converting slirp and iohandler to produce pollfds is not easy because Windows does not have poll---so you'd still have a pollfd-to-fd_set conversion somewhere. Believe me, I thought this through. :)
Paolo
[Prev in Thread] | Current Thread | [Next in Thread] |