diff options
author | rch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-22 22:43:30 +0000 |
---|---|---|
committer | rch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-22 22:43:30 +0000 |
commit | dda75ab707f41b60a01c6c2ecdc917de830e8433 (patch) | |
tree | 03edb6d9da9dc3fd45c0c51e63ffcefe2fb7f51e /net/http | |
parent | e1c2acb63627923cc49426ef725f747e48abeb71 (diff) | |
download | chromium_src-dda75ab707f41b60a01c6c2ecdc917de830e8433.zip chromium_src-dda75ab707f41b60a01c6c2ecdc917de830e8433.tar.gz chromium_src-dda75ab707f41b60a01c6c2ecdc917de830e8433.tar.bz2 |
Fix QUIC alternate protocol behavior so that that main job does not wait
for the QUIC job to finish.
Review URL: https://chromiumcodereview.appspot.com/17247006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@208099 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/http')
-rw-r--r-- | net/http/http_stream_factory_impl_job.cc | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/net/http/http_stream_factory_impl_job.cc b/net/http/http_stream_factory_impl_job.cc index c51f1c5..5f4f6d5 100644 --- a/net/http/http_stream_factory_impl_job.cc +++ b/net/http/http_stream_factory_impl_job.cc @@ -742,8 +742,17 @@ int HttpStreamFactoryImpl::Job::DoInitConnection() { } next_state_ = STATE_INIT_CONNECTION_COMPLETE; const ProxyServer& proxy_server = proxy_info_.proxy_server(); - return quic_request_.Request(HostPortProxyPair(origin_, proxy_server), - net_log_, io_callback_); + int rv = quic_request_.Request(HostPortProxyPair(origin_, proxy_server), + net_log_, io_callback_); + if (rv != OK) { + // OK, there's no available QUIC session. Let |waiting_job_| resume + // if it's paused. + if (waiting_job_) { + waiting_job_->Resume(this); + waiting_job_ = NULL; + } + } + return rv; } // Check first if we have a spdy session for this group. If so, then go |