Quellcode durchsuchen

Don't pool connection if the command has multiple segments.

This means it did HTTP pipelined request. If this response is for the
first request, then successive response may arrived to the socket.
Tatsuhiro Tsujikawa vor 15 Jahren
Ursprung
Commit
2c3187451f
1 geänderte Dateien mit 7 neuen und 1 gelöschten Zeilen
  1. 7 1
      src/HttpSkipResponseCommand.cc

+ 7 - 1
src/HttpSkipResponseCommand.cc

@@ -158,7 +158,13 @@ bool HttpSkipResponseCommand::executeInternal()
     finished = streamFilter_->finished();
   }
   if(finished) {
-    poolConnection();
+    if(getSegments().size() <= 1) {
+      // Don't pool connection if the command has multiple
+      // segments. This means it did HTTP pipelined request. If this
+      // response is for the first request, then successive response
+      // may arrived to the socket.
+      poolConnection();
+    }
     return processResponse();
   } else {
     setWriteCheckSocketIf(getSocket(), getSocket()->wantWrite());