kqueue and libev

Bert JW Regeer xistence at 0x58.com
Sun Dec 16 04:44:51 PST 2007


On Dec 15, 2007, at 08:47 , Kip Macy wrote:

> On 12/15/07, James Mansion <james at mansionfamily.plus.com> wrote:
>> Any idea what the author of libev is on about here (from
>> http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod):
>>
>> unsigned int ev_recommended_backends ()
>>
>>    Return the set of all backends compiled into this binary of libev
>>    and also recommended for this platform. This set is often smaller
>>    than the one returned by |ev_supported_backends|, as for example
>>    kqueue is broken on most BSDs and will not be autodetected unless
>>    you explicitly request it (assuming you know what you are doing).
>>
>> and
>>
>> |EVBACKEND_KQUEUE| (value 8, most BSD clones)
>>
>>    Kqueue deserves special mention, as at the time of this writing,  
>> it
>>    was broken on all BSDs except NetBSD (usually it doesn't work with
>>    anything but sockets and pipes, except on Darwin, where of course
>>    its completely useless). For this reason its not being
>>    "autodetected" unless you explicitly specify it explicitly in the
>>    flags (i.e. using |EVBACKEND_KQUEUE|).
>>
>> It looks like a decent library, but these comments seem unfortunate.
>> Does anyone know what the author is concerned about?
>>
>> James
>>
> Actually, until recently it was broken on pipes. We've never received
> any PRs to that effect so there is no way of knowing. You'll have
> better luck asking the author himself.
>
>   -Kip

How recently? I have been using kqueue with pipes in several programs  
for the last year or so.

Bert JW Regeer


More information about the freebsd-hackers mailing list