What projects use libev? I have a bunch of programs installed here at home on my Fedora 10 and 11 boxes and none of them apparently depend on it because it was not already installed.

I agree that it should be an addition and not a replacement of epoll(). --with-libev is a good way to handle this.

-Bryan

On 11/01/2009 10:03 AM, Leif Hedstrom wrote:
On 10/30/2009 03:46 PM, Paul Querna wrote:
Hi,

I think we need to use some kind of library to abstract IO polling,
rather than completely reinventing the wheel.

How about we take a two-step approach here? My worry is to break something major like this int he first week of being OpenSource. So, my suggestion is:

  1) We add a --with-libev  configure option.
2) If this option is not specified, we use the existing epoll() code on Linux. 3) On other platforms, the --with-libev becomes implicit (since there's no other choice anyways)


Later on, we can decide if libev becomes default on all platforms, but at least this way we have some options. Thoughts?


Lief mentioned possibly using libev:
<http://software.schmorp.de/pkg/libev.html>

I took a quick look at the internals of libev, and they seemed mostly
sane.  It uses callbacks, instead of exposing arrays of results to the
library user.

The callback approach is also what APR/httpd is moving to with the
newest apr_pollcb API, and what the new Simple MPM was designed around
-- the callbacks do introduce a a frame jump, but they mean you can be
portable, and only iterate the result set of events once.

Alternatives would include using libevent, or rolling our own.

I am personally in favor of using libev.

Sounds good to me, +1 on using libev as the abstraction model. As Bryan pointed out, we have to make sure this works with our threaded model.

-- leif



Reply via email to