Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(957)

Unified Diff: net/http/http_stream_factory_impl.cc

Issue 9567025: Ensure pipelined requests are sent in the same order they're queued. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 8 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: net/http/http_stream_factory_impl.cc
diff --git a/net/http/http_stream_factory_impl.cc b/net/http/http_stream_factory_impl.cc
index 1236787a824c199e681f8883b6dcb51711cc0dc8..811782e840fb681fdc85b1e7f4cc5b7ca633a132 100644
--- a/net/http/http_stream_factory_impl.cc
+++ b/net/http/http_stream_factory_impl.cc
@@ -257,11 +257,13 @@ void HttpStreamFactoryImpl::OnHttpPipelinedHostHasAdditionalCapacity(
void HttpStreamFactoryImpl::AbortPipelinedRequestsWithKey(
const Job* job, const HttpPipelinedHost::Key& key, int status,
const SSLConfig& used_ssl_config) {
- RequestSet requests_to_fail = http_pipelining_request_map_[key];
- requests_to_fail.erase(request_map_[job]);
- for (RequestSet::const_iterator it = requests_to_fail.begin();
+ RequestVector requests_to_fail = http_pipelining_request_map_[key];
+ for (RequestVector::const_iterator it = requests_to_fail.begin();
it != requests_to_fail.end(); ++it) {
Request* request = *it;
+ if (request == request_map_[job]) {
+ continue;
+ }
request->OnStreamFailed(NULL, status, used_ssl_config);
}
}

Powered by Google App Engine
This is Rietveld 408576698