Thanks! It's nice to know that in these days filled with bad software
that is released to early,
there exists excellent software that is never actually released.

I'm looking forward to integrating libeio into my server.  Are the
number of threads in the eio
pool configurable?

Cheers,
Aaron


On Sun, Jun 5, 2011 at 7:01 PM, Marc Lehmann <schm...@schmorp.de> wrote:
> On Sun, Jun 05, 2011 at 05:09:30PM -0400, Aaron Boxer <boxe...@gmail.com> 
> wrote:
>> Cool, thanks Marc. I will use libeio, in this case.
>
> Or maybe not - a decade of use in production, but there still hasn't
> been an official release (we are curently preparing one though), so
> documentation is a bit scarse.
>
>> So, what libeio interface should I use for this? I won't need the mmap
>> functionality.
>
> For fadvise, you'd need to use eio_custom, or wait till it is implemented as
> separate request. There is an examplef or eio_custom in the manual:
>
>   
> http://pod.tst.eu/http://cvs.schmorp.de/libeio/eio.pod#LIBEIO_SPECIFIC_REQUESTS
>
> As for integrating the libeio threadpool into an event loop (or not), see
> either the sparse docuemntation (you have to provide two callbacks that
> provide level-triggering).
>
> While you can't cancel fadvise calls that are in the kernel, cancelling a
> queued request will skip execution.
>
> Alternatively you could just look at the etp_ functions in the source and
> get inspired for your own threadpool. Things to watch out for are:
>
> - create threads with a blocked signal mask
> - don't bother with atfork and suff, newer posix versions made that useless
> - if you need many threads
>
> Otherwise, the libeio threadpool is a straightforward application of
> pthreads with condvars and some linked list stuff.
>
> Last not least, libglib has a portable thread pool API which you could
> use.  Last I looked it is rather low-quality though, for example, it
> doesn't bother blocking signals, causing lots of issues.
>
> --
>                The choice of a       Deliantra, the free code+content MORPG
>      -----==-     _GNU_              http://www.deliantra.net
>      ----==-- _       generation
>      ---==---(_)__  __ ____  __      Marc Lehmann
>      --==---/ / _ \/ // /\ \/ /      schm...@schmorp.de
>      -=====/_/_//_/\_,_/ /_/\_\
>

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

Reply via email to