EXPERIMENTAL: tevent_kqueue support

Stefan (metze) Metzmacher metze at samba.org
Fri Feb 22 12:46:31 MST 2013

Hi Jeremy,

>>>>> I've started with a tevent_kqueue implementation
>>>>> (just looking at the man page).
>>>>> It compiles for me on linux with the 2nd HACK patch.
>>>>> Can you have a look and test it?
>>>>> @Jeremy: we may want to pick up some of the simplified logic into the
>>>>> epoll backend:
>>>>>          kqueue_update_fd_event() instead of
>>>>>          epoll_add_event/epoll_mod_event/epoll_del_event/epoll_change_event.
>>>> Don't think that will work. The difference between epoll/kqueue
>>>> is that kqueue doesn't seem to have the restriction on adding
>>>> 2 events with the same fd, which means we'd have to migrate
>>>> all the logic in my epoll patch into a epoll_update_fd_event
>>>> function, which might get rather messy :-).
>>> We already had a epoll_change_event(), which I renamed to
>>> epoll_update_event()
>>> and used in all places instead of using epoll_{add,mod,del}_event directly.
>>> I current epoll patchset is attached, please take a look, but don't push
>>> it to master yet.
>> Ok, I'll run under test and wait for you to confirm you're
>> happy.
> Finally got time to look at this. Needs this additional
> patch to compile (but I'm sure you already knew that :-).

Yes :-)

I spend the last days, fixing some bugs that made autobuild unstable
when we use the poll backend. (About 30-40 private autobuilds...)

My current work in progress is available under

I'll try to add some more tests which test the specific behaviors
regarding triggered events,
e.g. that an event without flags and remaining bytes in the socket
doesn't cause
a 100% cpu loop and similar things.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 261 bytes
Desc: OpenPGP digital signature
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20130222/f46d6051/attachment.pgp>

More information about the samba-technical mailing list