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.
pull/1/head
Tatsuhiro Tsujikawa 2011-01-16 21:05:14 +09:00
parent 97d0b71dd4
commit 2c3187451f
1 changed files with 7 additions and 1 deletions

View File

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