[RFC] [WIP] tevent/glib integration
Jeremy Allison
jra at samba.org
Thu Jan 28 00:19:01 UTC 2016
On Fri, Jan 22, 2016 at 04:56:52PM +0100, Ralph Boehme wrote:
> Hi Noel,
>
> On Mon, Jan 11, 2016 at 12:56:12PM +0000, Noel Power wrote:
> > ... long snip ...
>
> ok, so we both agree that both solutions are ugly. ;)
>
> Metze had a better idea in a private conversation: use epoll to create
> an epoll instance and add the returned fd to tevent via
> tevent_add_fd(). Later add all glib fds to the new epoll instance via
> epoll_ctl(). epoll_wait() will then return all glib fds with events
> pending. This can all be done on top of tevent.
>
> In case epoll is not available, in the glue code as a fallback use a
> tevent_fd per glib fd and in the handler call poll() a second time on
> the glib fds. That way we get the raw revents and can handle all
> pending events in one swoop.
>
> This would work without any modifications to the tevent code.
Oh, that's a really nice way to do this !
+1 from me :-).
(Bit late to this conversation but trying to catch up :-).
More information about the samba-technical
mailing list