Please try this patch: --- utils.cpp-orig 2008-03-16 21:32:31.000000000 +0000 +++ utils.cpp 2008-03-16 21:35:20.000000000 +0000 @@ -339,6 +339,7 @@ curl_easy_setopt(easyhandle, CURLOPT_URL, url.c_str()); curl_easy_setopt(easyhandle, CURLOPT_WRITEFUNCTION, my_write_data); curl_easy_setopt(easyhandle, CURLOPT_WRITEDATA, &buf); + curl_easy_setopt(easyhandle, CURLOPT_NOSIGNAL, 1); if (auth) { curl_easy_setopt(easyhandle, CURLOPT_USERPWD, auth);
What does this do? It sets 'CURLOPT_NOSIGNAL' to true. Quoting: "On *nix-like systems, if you don't set NOSIGNAL to TRUE, libcurl will use alarm() and then siglongjmp() to abort slow DNS resolves. Without NOSIGNAL set to FALSE (which is default), libcurl has no way of aborting a slow DNS resolve. " The core of this problem seems to be a DNS-related one, and I guess toggling the behaviour of curl in this case might make it better. Untested, as I cannot reproduce this problem - even if I add a firewall to drop outgoing DNS requests.. Steve -- Managed Anti-Spam Service http://mail-scanning.com/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]