Re: embed kqueue/epoll heads-up

2007-12-29 Thread Marc Lehmann
On Sat, Dec 29, 2007 at 02:25:51PM -0700, Tony Arcieri <[EMAIL PROTECTED]> 
wrote:
> > - on netbsd and freebsd, polling on a kqueue fd has no effect, it will
> >  not become readable even when events are pending.
> >
> 
> Are you polling with poll(2)?

Among other things, yes.

> I was under the impression one of the design attributes of kqueues was you
> could monitor one with another...

Thats true, as well as monitoring them with any other mechanism that can
monitor file descriptors.

-- 
The choice of a   Deliantra, the free code+content MORPG
  -==- _GNU_  http://www.deliantra.net
  ==-- _   generation
  ---==---(_)__  __   __  Marc Lehmann
  --==---/ / _ \/ // /\ \/ /  [EMAIL PROTECTED]
  -=/_/_//_/\_,_/ /_/\_\

___
libev mailing list
libev@lists.schmorp.de
http://lists.schmorp.de/cgi-bin/mailman/listinfo/libev



Re: embed kqueue/epoll heads-up

2007-12-29 Thread Tony Arcieri
On Dec 20, 2007 7:38 PM, Marc Lehmann <[EMAIL PROTECTED]> wrote:

> - on netbsd and freebsd, polling on a kqueue fd has no effect, it will
>  not become readable even when events are pending.
>

Are you polling with poll(2)?

I was under the impression one of the design attributes of kqueues was you
could monitor one with another...

-- 
Tony Arcieri
ClickCaster, Inc.
[EMAIL PROTECTED]
___
libev mailing list
libev@lists.schmorp.de
http://lists.schmorp.de/cgi-bin/mailman/listinfo/libev

embed kqueue/epoll heads-up

2007-12-20 Thread Marc Lehmann
I did some further testiong of libev's ability to embed event loops, and I
found they do not work anywhere. Unfortunately, the breakage is in the
kernels, with no apperent workaround possible.

My findings are:

- an epoll fd always returns as "readable" wether events are ready or not.

- on netbsd and freebsd, polling on a kqueue fd has no effect, it will
  not become readable even when events are pending.

that means on freebsd, the *highest-performing generic event mechanism* is
poll or select. what a shame.

(the breakage on netbsd and linux is unfortunate, but rules out only
i/o prioritising, while still leavign epoll and kqueue as generic event
mechanisms).

I will update the documentation accordingly (with the next version fo
the perl interface, multiple event loops will also be supported in perl,
so one can now choose kqueue there as well even on systems where it only
works for sockets).

-- 
The choice of a   Deliantra, the free code+content MORPG
  -==- _GNU_  http://www.deliantra.net
  ==-- _   generation
  ---==---(_)__  __   __  Marc Lehmann
  --==---/ / _ \/ // /\ \/ /  [EMAIL PROTECTED]
  -=/_/_//_/\_,_/ /_/\_\

___
libev mailing list
libev@lists.schmorp.de
http://lists.schmorp.de/cgi-bin/mailman/listinfo/libev