1
0
mirror of https://github.com/moparisthebest/curl synced 2024-08-13 17:03:50 -04:00

ConnectionExists: improve non-multiplexing use case

- better log output

- make sure multiplex is enabled for it to be used
This commit is contained in:
Daniel Stenberg 2019-04-30 11:16:53 +02:00
parent be6e281cf2
commit 41fcdf71a1
No known key found for this signature in database
GPG Key ID: 5CC908FDB71E12C2

View File

@ -1031,7 +1031,7 @@ ConnectionExists(struct Curl_easy *data,
/* We can't multiplex if we don't know anything about the server */
if(canmultiplex) {
if(bundle->multiuse <= BUNDLE_UNKNOWN) {
if(bundle->multiuse == BUNDLE_UNKNOWN) {
if((bundle->multiuse == BUNDLE_UNKNOWN) && data->set.pipewait) {
infof(data, "Server doesn't support multiplex yet, wait\n");
*waitpipe = TRUE;
@ -1047,6 +1047,10 @@ ConnectionExists(struct Curl_easy *data,
infof(data, "Could multiplex, but not asked to!\n");
canmultiplex = FALSE;
}
if(bundle->multiuse == BUNDLE_NO_MULTIUSE) {
infof(data, "Can not multiplex, even if we wanted to!\n");
canmultiplex = FALSE;
}
}
curr = bundle->conn_list.head;
@ -1071,7 +1075,8 @@ ConnectionExists(struct Curl_easy *data,
continue;
}
multiplexed = CONN_INUSE(check);
multiplexed = CONN_INUSE(check) &&
(bundle->multiuse == BUNDLE_MULTIPLEX);
if(canmultiplex) {
if(check->bits.protoconnstart && check->bits.close)