diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/url.c | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -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) |