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