On Tue, 7 Dec 2010, David Woodhouse wrote:

The problem is that my timer callback isn't being called after the first time.

It's called to set the *first* timer (the 1ms timer which is set on calling curl_multi_add_handle()), but curl never seems to call my timer callback again, even though there are more timeouts to come.

If I change my timeout_callback() function to call curl_multi_timeout() and manually set *itself* up to recur at the designated time, it now works fine with libcurl 7.21.2. Is that intended? It doesn't seem to be particularly well-documented if so.

No, it's not intended.

When the first timer (1ms) expires, and you call curl_multi_socket_action(), the multi.c:update_timer() function is called and that is supposed to get the next timeout in the queue of timeouts and call your callback with that information.

I'll build your test app and see what I can figure out.

--

 / daniel.haxx.se
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette:  http://curl.haxx.se/mail/etiquette.html

Reply via email to