diff options
author | Daniel Stenberg <daniel@haxx.se> | 2008-06-19 08:31:22 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2008-06-19 08:31:22 +0000 |
commit | fb2e71b9bd352bca7e3a5533c69bd236132a5d7a (patch) | |
tree | fe06a50b4d75ecdd94aa2cc2f484c6a4bf88c902 /lib | |
parent | 68b67e24f26fbfaac2f869145b91110d5b5b1b69 (diff) |
- 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!
Diffstat (limited to 'lib')
-rw-r--r-- | lib/url.c | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -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; |