From fb2e71b9bd352bca7e3a5533c69bd236132a5d7a Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Thu, 19 Jun 2008 08:31:22 +0000 Subject: - Dengminwen found a bug in the connection re-use function when using the multi interface with pipelining enabled as it would wrongly check for, detect and close "dead connections" even though that connection was already in use! --- lib/url.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'lib/url.c') diff --git a/lib/url.c b/lib/url.c index a7f1a0c1a..6391edb28 100644 --- a/lib/url.c +++ b/lib/url.c @@ -2511,9 +2511,10 @@ ConnectionExists(struct SessionHandle *data, } if(match) { - if(pipeLen == 0) { - /* The check for a dead socket makes sense only if there - are no handles in pipeline */ + if(!pipeLen && !check->inuse) { + /* The check for a dead socket makes sense only if there are no + handles in pipeline and the connection isn't already marked in + use */ bool dead = SocketIsDead(check->sock[FIRSTSOCKET]); if(dead) { check->data = data; -- cgit v1.2.3