[PATCH] Change tevent "standard" backend to fall back from epoll -> poll

Jeremy Allison jra at samba.org
Thu Feb 14 16:17:50 MST 2013


On Thu, Feb 14, 2013 at 06:09:53PM -0500, simo wrote:
> On Thu, 2013-02-14 at 15:01 -0800, Jeremy Allison wrote:
> > On Thu, Feb 14, 2013 at 05:32:34PM -0500, simo wrote:
> > > On Thu, 2013-02-14 at 14:02 -0800, Jeremy Allison wrote:
> > > > On Thu, Feb 14, 2013 at 04:04:34PM +0100, Stefan (metze) Metzmacher wrote:
> > > > > Hi Jeremy,
> > > > > 
> > > > > > Second attempt :-). This is the original patchset
> > > > > > forward ported to master after Volker and Metze fixed
> > > > > > the issues with the poll backend.
> > > > > > 
> > > > > > Please review and push to master if you're happy with it !
> > > > > 
> > > > > I reviewed it and made some changes to it to fix some details
> > > > > and make it easier to understand for me.
> > > > > 
> > > > > - I added a replay flag to epoll_panic() to indicate if it was called
> > > > >   from before calling an event handler or from within an event handler.
> > > > >   We should only call loop_once() of the poll backend if epoll_panic
> > > > >   was called before calling an event handler.
> > > > >   tevent_loop_once() should only trigger just one event handler.
> > > > > 
> > > > > - I introduced a 'struct std_event_glue' instead of using
> > > > >   tricks with const struct tevent_ops **
> > > > > 
> > > > > I've tested the fallback with the last two HACK patches,
> > > > > which are reverted again and should not reach master.
> > > > 
> > > > Pushed to master (without that HACK patches :-).
> > > 
> > > Is this the full set including the EPOLL_ADDITIONAL_FD_WAS_MULTIPLEXED
> > > patches?
> > > If so time to bump up the minor version ?
> > 
> > No. I'm fixing the issues Metze raised with that patchset
> > and will re-submit for review once I'm done.
> 
> Ok then add a patch to raise the minor version of tevent to that
> patchset please.

Actually I think we need to add a final patchset that
ensures *all* tevent backends can only have either
two events (one TEVENT_FD_READ, one TEVENT_FD_WRITE)
with the same fd, or one event with TEVENT_FD_READ|
TEVENT_FD_WRITE before we bump the minor version.

Jeremy.


More information about the samba-technical mailing list