diff options
author | mbelshe@chromium.org <mbelshe@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-17 15:44:26 +0000 |
---|---|---|
committer | mbelshe@chromium.org <mbelshe@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-17 15:44:26 +0000 |
commit | 044dcc53e97c2628215f62dd6858a4aaddb4b06b (patch) | |
tree | d934244ad2b576a5ebd2cb0db23463bc702110b8 /net/spdy/spdy_http_stream.h | |
parent | e50e6b77c179aee92852fcfdc73f66741f368539 (diff) | |
download | chromium_src-044dcc53e97c2628215f62dd6858a4aaddb4b06b.zip chromium_src-044dcc53e97c2628215f62dd6858a4aaddb4b06b.tar.gz chromium_src-044dcc53e97c2628215f62dd6858a4aaddb4b06b.tar.bz2 |
Fix case where we close a stream due to socket errors when it is currently
a pending create stream.
The problem was that the socket error would arrive on the SpdySession, which
would initiate cleanup of the pendng create streams for that session. In the
callback to the stream, the stream would notify the transaction, which would
delete itself, and that would cause a callback into the SpdySession to
clear that specific pending create stream (via CancelPendingCreateStreams).
BUG=52901,55795
TEST=SpdyNetworkTransactionTest.ThreeGetsWithMaxConcurrentSocketClose
Review URL: http://codereview.chromium.org/3400009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59794 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/spdy/spdy_http_stream.h')
-rw-r--r-- | net/spdy/spdy_http_stream.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/spdy/spdy_http_stream.h b/net/spdy/spdy_http_stream.h index 262c488..eab605c 100644 --- a/net/spdy/spdy_http_stream.h +++ b/net/spdy/spdy_http_stream.h @@ -72,6 +72,8 @@ class SpdyHttpStream : public SpdyStream::Delegate, public HttpStream { // Indicates if the response body has been completely read. virtual bool IsResponseBodyComplete() const { + if (!stream_) + return false; return stream_->closed(); } |