curl-library
Re: adding easy handles when using curl_multi_socket*
From: <koettermarkus_at_gmx.de>
Date: Tue, 29 Apr 2008 21:28:01 +0200
Date: Tue, 29 Apr 2008 21:28:01 +0200
To conclude, there is a bug in the multi_socket api,
curl_multi_socket_action can remove a socket from the hashlist and
return CURLM_CALL_MULTI_PERFORM.
My workaround is using a global static int curl_socket_fault;
Before calling curl_multi_socket_action the var is set to -1,
If my socket_cb has to remove a socket , it sets the var to the socket.
After each call to curl_multi_socket_action, I check if
curl_socket_fault is my actionsocket, if so, don't call
curl_multi_socket_action again.
A really bad hack.
The other thing about curl_multi_add_handle() registering the socket is
resolved, the timeout_ms value was 0 ms, therefore there was no signal
handler installed by the load.c code.
MfG
Markus
Received on 2008-04-29