cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: curl_multi_perform blocking

From: Joe Halpin <j.p.h_at_comcast.net>
Date: Tue, 23 Mar 2004 10:14:28 -0600

Joe Halpin wrote:
> Daniel Stenberg wrote:
>
>> On Mon, 22 Mar 2004 farr_at_metservice.com wrote:
>>
>>> Unfortunately I cant cant install tcpdump on either the server or any
>>> of the
>>> systems that seem to curl exception problem. I have attached a pcap
>>> file
>>> that shows another strange problem that requires me to retry the same
>>> file.
>>
>> Sorry, but I can't readily inspect pcap files. It would be a lot
>> easier if you
>> converted it to some kind of textual data.
>
> I looked at it with ethereal. The client issues a RETR and the server
> starts sending a file. The client data port closes before the transfer
> is complete (the server doesn't notice this so there are a bunch of RST
> responses).
>
> When the server has sent the whole file it sends the 226 message, which
> results in a RST being returned on the control connection.
>
> It looks to me like the client crashed during the transfer. One I start
> seeing RST on the data connection there isn't any response of any kind
> from the client. TCP just keeps sending RST.

Sorry this isn't right. If the client crashed its TCP would have sent a
FIN to the server, but I don't see that in the output. The only thing I
can think of to explain this is that the client aborted the control
connection using SO_LINGER.

Mike, earlier on you said you "do a cleanup of the curl_handle and
create a new one to continue the download". Are you using SO_LINGER when
doing this? If not, how are you cleaning up the handle?

Joe
Received on 2004-03-23