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

Issue 8820005: Fix race between OnPipelineFeedback and (Closed)

Created:
9 years ago by James Simonsen
Modified:
9 years ago
CC:
chromium-reviews, cbentzel+watch_chromium.org, darin-cc_chromium.org, Paweł Hajdan Jr.
Visibility:
Public.

Description

Fix race between OnPipelineFeedback and HttpStreamFactoryImpl::Job::OnStreamReadyCallback. As a side-effect of OnPipelineFeedback() calling OnPipelineHasCapacity() on all of the pipelines, some requests are late-bound to existing pipelines with capacity. However, those requests may have been in the process of establishing new pipelines. By stealing those requests, the new pipelines become empty and are deleted. Later iterations of the loop in OnPipelineFeedback() weren't careful about checking to see if the pipeline was deleted before calling OnPipelineHasCapacity() on it. BUG=106313 TEST=net_unittests under valgrind Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=113287

Patch Set 1 #

Total comments: 5

Patch Set 2 : Added comment #

Patch Set 3 : Fix Win build #

Unified diffs Side-by-side diffs Delta from patch set Stats (+126 lines, -13 lines) Patch
M net/http/http_pipelined_host_impl.h View 1 chunk +9 lines, -0 lines 0 comments Download
M net/http/http_pipelined_host_impl.cc View 1 5 chunks +24 lines, -13 lines 0 comments Download
M net/http/http_pipelined_network_transaction_unittest.cc View 1 2 1 chunk +93 lines, -0 lines 0 comments Download

Messages

Total messages: 7 (0 generated)
James Simonsen
9 years ago (2011-12-06 04:30:59 UTC) #1
mmenke
http://codereview.chromium.org/8820005/diff/1/net/http/http_pipelined_host_impl.cc File net/http/http_pipelined_host_impl.cc (right): http://codereview.chromium.org/8820005/diff/1/net/http/http_pipelined_host_impl.cc#newcode174 net/http/http_pipelined_host_impl.cc:174: capability_ != INCAPABLE && nit: Seems a little odd ...
9 years ago (2011-12-06 15:29:02 UTC) #2
willchan no longer on Chromium
Looked at the change which seems fine to me. Deferring to Matt still. Thanks for ...
9 years ago (2011-12-06 17:49:21 UTC) #3
James Simonsen
http://codereview.chromium.org/8820005/diff/1/net/http/http_pipelined_host_impl.cc File net/http/http_pipelined_host_impl.cc (right): http://codereview.chromium.org/8820005/diff/1/net/http/http_pipelined_host_impl.cc#newcode174 net/http/http_pipelined_host_impl.cc:174: capability_ != INCAPABLE && On 2011/12/06 15:29:03, Matt Menke ...
9 years ago (2011-12-06 19:41:35 UTC) #4
mmenke
LGTM http://codereview.chromium.org/8820005/diff/1/net/http/http_pipelined_network_transaction_unittest.cc File net/http/http_pipelined_network_transaction_unittest.cc (right): http://codereview.chromium.org/8820005/diff/1/net/http/http_pipelined_network_transaction_unittest.cc#newcode722 net/http/http_pipelined_network_transaction_unittest.cc:722: DataRunnerObserver observer(data_vector_[0].get(), 3); On 2011/12/06 19:41:35, James Simonsen ...
9 years ago (2011-12-06 19:45:37 UTC) #5
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/simonjam@chromium.org/8820005/10001
9 years ago (2011-12-06 21:55:52 UTC) #6
commit-bot: I haz the power
9 years ago (2011-12-06 23:41:13 UTC) #7
Change committed as 113287

Powered by Google App Engine
This is Rietveld 408576698