diff options
author | agayev@chromium.org <agayev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-17 15:44:25 +0000 |
---|---|---|
committer | agayev@chromium.org <agayev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-17 15:44:25 +0000 |
commit | 6abf53787922ac76409296dc2a2646371e9efab7 (patch) | |
tree | 666f0c0d13ced02f38bba8efdd65ba6977465fc9 /net/spdy/spdy_session.cc | |
parent | 2d0add3c88294fc6069e5a82b9eac28e6f108351 (diff) | |
download | chromium_src-6abf53787922ac76409296dc2a2646371e9efab7.zip chromium_src-6abf53787922ac76409296dc2a2646371e9efab7.tar.gz chromium_src-6abf53787922ac76409296dc2a2646371e9efab7.tar.bz2 |
SPDY flow control: fix for WINDOW_UPDATEs arriving while request is being sent.
BUG=48100
TEST=net_unittests
Review URL: http://codereview.chromium.org/3048058
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56355 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/spdy/spdy_session.cc')
-rw-r--r-- | net/spdy/spdy_session.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/spdy/spdy_session.cc b/net/spdy/spdy_session.cc index 549dd53..b1e9c23 100644 --- a/net/spdy/spdy_session.cc +++ b/net/spdy/spdy_session.cc @@ -433,8 +433,10 @@ int SpdySession::WriteStreamData(spdy::SpdyStreamId stream_id, // Obey send window size of the stream if flow control is enabled. if (use_flow_control_) { - if (stream->send_window_size() <= 0) + if (stream->send_window_size() <= 0) { + stream->set_stalled_by_flow_control(true); return ERR_IO_PENDING; + } int new_len = std::min(len, stream->send_window_size()); if (new_len < len) { len = new_len; |