cURL / Mailing Lists / curl-library / Single Mail

curl-library

[PATCH] remove cancelled state

From: Dmitry Kurochkin <dmitry.kurochkin_at_gmail.com>
Date: Mon, 21 Jan 2008 18:08:12 +0300

Hello!

This patch removes cancelled state. Now when request is cancelled
while in pipeline we kill connection. This prevents us from getting
errors when user works with handle which is still in pipeline.

Also the patch contains one line fix for ConnectionExists() function.
It prevents us from reusing bad connection in the following scenario:

1. Multi handle with pipeline enabled. Start first download.
2. Cancel first download after it sent request (DONE state). Since
connection is not is_in_pipeline, it will be left for possible reuse.
3. Start another download. ConnectionExists() does not check if
SocketIsDead() because pipelining is enabled.

The result is that first connection is reused and second request gets
response from first request.

Regards,
  Dmitry

Received on 2008-01-21