EXPERIMENTAL: tevent_kqueue support
Stefan (metze) Metzmacher
metze at samba.org
Tue Feb 19 00:23:43 MST 2013
Hi Richard,
> On Mon, Feb 18, 2013 at 3:40 PM, Richard Sharpe
> <realrichardsharpe at gmail.com> wrote:
>> On Sun, Feb 17, 2013 at 8:07 AM, Stefan (metze) Metzmacher
>> <metze at samba.org> wrote:
>>> Hi Timur,
>>>
>>> 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.
>>>
>>> I'm also thinking about having a fallback handler in the kqueue backend
>>> and use it if available from the standard backend.
>>
>> OK, this failed on FreeBSD 8.0 for two reasons:
>>
>> 1. Need some include files.
>>
>> -bash-4.0$ diff -up lib/tevent/tevent_kqueue.c.orig lib/tevent/tevent_kqueue.c
>> --- lib/tevent/tevent_kqueue.c.orig 2013-02-18 23:23:38.049899845 -0800
>> +++ lib/tevent/tevent_kqueue.c 2013-02-18 23:24:16.258133294 -0800
>> @@ -29,6 +29,9 @@
>> #include "tevent.h"
>> #include "tevent_internal.h"
>> #include "tevent_util.h"
>> +#include <sys/types.h>
>> +#include <sys/event.h>
>> +#include <sys/time.h>
>>
>> struct kqueue_event_context {
>> struct tevent_context *ev;
>>
>>
>> 2. A weird error
>>
>> [3743/3985] abi_check: bin/default/librpc/libndr.so
>> Traceback (most recent call last):
>> File "/usr/local/lib/python2.6/logging/__init__.py", line 773, in emit
>> stream.write(fs % msg.encode("UTF-8"))
>> UnicodeDecodeError: 'ascii' codec can't decode byte 0xb5 in position
>> 389: ordinal not in range(128)
>> Traceback (most recent call last):
>> File "/usr/local/lib/python2.6/logging/__init__.py", line 773, in emit
>> stream.write(fs % msg.encode("UTF-8"))
>> UnicodeDecodeError: 'ascii' codec can't decode byte 0xe8 in position
>> 357: ordinal not in range(128)
>> Waf: Leaving directory `/home/rsharpe/panzura-samba-master/bin'
>> Build failed: ABI for libndr.so has changed - please fix library
>> version then build with --abi-update
>> See http://wiki.samba.org/index.php/Waf#ABI_Checking for more information
>> If you have not changed any ABI, and your platform always gives this
>> error, please configure with --abi-check-disable to skip this check
>> make: *** [all] Error 1
>>
>> I don't know about this second error before. I don't think I have seen
>> it. Checking a build without the kqueue stuff now.
>
> OK, configure --abi-check-disable fixed this, but I normally don't
> have to do that with my Master build on FreeBSD.
Can you try (in a clean tree):
(cd lib/tevent && ./configure --enable-developer && make && make test)
2>&1 | tee output.txt
and send me the output.txt?
Thanks!
metze
-------------- 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/20130219/9759095f/attachment.pgp>
More information about the samba-technical
mailing list