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

Reply via email to