- 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!
This commit is contained in:
Daniel Stenberg 2008-06-19 08:31:22 +00:00
parent 68b67e24f2
commit fb2e71b9bd
3 changed files with 12 additions and 4 deletions

View File

@ -6,6 +6,12 @@
Changelog
Daniel Stenberg (19 Jun 2008)
- 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!
Daniel Fandrich (18 Jun 2008)
- Added SSH failure test cases 628-632

View File

@ -20,6 +20,7 @@ This release includes the following bugfixes:
o Fixed curl-config --ca
o Fixed the multi interface connection re-use with NSS-built libcurl
o connection re-use when using the multi interface with pipelining enabled
This release includes the following known bugs:
@ -37,6 +38,6 @@ This release would not have looked like this without help, code, reports and
advice from friends like these:
Lenny Rachitsky, Axel Tillequin, Arnaud Ebalard, Yang Tse, Dan Fandrich,
Rob Crittenden
Rob Crittenden, Dengminwen
Thanks! (and sorry if I forgot to mention someone)

View File

@ -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;