cURL / Mailing Lists / curl-library / Single Mail


Why does multi_curl_perform return CURLE_UNSUPPORTED_PROTOCOL

From: Saqib Ali <>
Date: Mon, 7 Mar 2011 17:23:44 -0500

I have been successfully using the easy interface now for several days
(using SFTP to do uploads). I'm now learning the multi-interface. I'm having
an odd problem.

I have created 3 easy interfaces (that I know have worked in the past) and
I'm stacking them onto a multi-interface using curl_multi_add_handle(). When
I then run curl_multi_perform(), I'm surprised to find that it doesn't work.
In fact the return value of curl_multi_perform
is CURLE_UNSUPPORTED_PROTOCOL. That's very strange. After the
curl_multi_perform fails, I try just running curl_easy_perform() on the one
of the stacked interfaces and it works fine. Even though of course the only
place that protocol is defined is when I set the URL on the easy interface.
It's very odd.

Can anyone advise why this would be happening? It doesn't seem to make

Two additional points of note that might be clues:

1) In my easy-interface upload, I was easily able to perform the upload
just by using the CURLOPT_READDATA option and passing in an open file
descriptor. I never created a read-callback function or used

2) The second argument to curl_multi_perform() is coming back with really
weird values. I expected 0, 1 or 2. Instead I'm getting a number 386144.

- Saqib

List admin:
Received on 2011-03-07