cURL / Mailing Lists / curl-library / Single Mail

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

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