summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2019-04-30 11:16:53 +0200
committerDaniel Stenberg <daniel@haxx.se>2019-04-30 11:16:53 +0200
commit885b094ac11018b6b79a0706687784c02249fa9a (patch)
tree1e0540aed244504bc8506b3338cb9deb1290d3b1
parent05c62c3ce51c0d6abdac0a47577546149f692b4f (diff)
downloadcurl-bagder/improved-no-multiplexing.tar.gz
ConnectionExists: improve non-multiplexing use casebagder/improved-no-multiplexing
- better log output - make sure multiplex is enabled for it to be used
-rw-r--r--lib/url.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/url.c b/lib/url.c
index ad8aa6996..5b3ce11f2 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -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)