curl-library
Re: Libcurl Multi-Environment Timing Problems
Date: Mon, 12 Jul 2010 20:38:21 -0700
Daniel Stenberg wrote:
> On Sat, 10 Jul 2010, Paul Romero wrote:
>
> > The problem occurred due to the following stupid assumption about socket and
> > file descriptors. The assumption is that they can be programmed to generate
> > an event when there is a transition from output being blocked to not being
> > blocked. This is not true for any Linux/Unix drivers I know of
>
> That's not the job of any "driver". SIGIO/SIGPOLL is a matter for the TCP/IP
> stack itself. But if you're going for wide portability as you say you do, then
> libcurl already provides much greater portability for asynch transfers than
> you'll achieve with anything using SIGIO.
>
> If you're going for something properly event-based, you're much better off
> using a portable event-library such as libev or libevent that can use any of a
> set of backends depending on what the target operating system provides. Any
> libcurl works perfectly fine with event-based approaches as well. If you're
> going beyond a few hundred connections that's the only sane approach.
I agree with this. In addition, SIGIO/SIGPOLL are not suitable for
heavy loads because of the infamous Unix/Linux signal loss problem.
>
>
> --
>
> / daniel.haxx.se
> -------------------------------------------------------------------
> List admin: http://cool.haxx.se/list/listinfo/curl-library
> Etiquette: http://curl.haxx.se/mail/etiquette.html
-- Paul Romero RCOM Communications Software Phone/Fax: (510)339-2628 E-Mail: paulr_at_rcom-software.com ------------------------------------------------------------------- List admin: http://cool.haxx.se/list/listinfo/curl-library Etiquette: http://curl.haxx.se/mail/etiquette.htmlReceived on 2010-07-13