| Index: net/quic/chromium/bidirectional_stream_quic_impl.cc
|
| diff --git a/net/quic/chromium/bidirectional_stream_quic_impl.cc b/net/quic/chromium/bidirectional_stream_quic_impl.cc
|
| index 513b2e29eed3412ed7ec62b3911958b3de43f213..04278f130d8abfb5dff37e1c1281e8440a3d729e 100644
|
| --- a/net/quic/chromium/bidirectional_stream_quic_impl.cc
|
| +++ b/net/quic/chromium/bidirectional_stream_quic_impl.cc
|
| @@ -73,10 +73,9 @@ void BidirectionalStreamQuicImpl::Start(
|
| delegate_ = delegate;
|
| request_info_ = request_info;
|
|
|
| - int rv = stream_request_.StartRequest(
|
| - session_, &stream_,
|
| - base::Bind(&BidirectionalStreamQuicImpl::OnStreamReady,
|
| - weak_factory_.GetWeakPtr()));
|
| + stream_request_ = session_->CreateStreamRequest();
|
| + int rv = stream_request_->StartRequest(base::Bind(
|
| + &BidirectionalStreamQuicImpl::OnStreamReady, weak_factory_.GetWeakPtr()));
|
| if (rv == OK) {
|
| OnStreamReady(rv);
|
| } else if (!was_handshake_confirmed_) {
|
| @@ -306,6 +305,8 @@ void BidirectionalStreamQuicImpl::OnStreamReady(int rv) {
|
| DCHECK_NE(ERR_IO_PENDING, rv);
|
| DCHECK(rv == OK || !stream_);
|
| if (rv == OK) {
|
| + stream_ = stream_request_->ReleaseStream();
|
| + stream_request_.reset();
|
| stream_->SetDelegate(this);
|
| if (!was_handshake_confirmed_ && request_info_->method == "POST") {
|
| waiting_for_confirmation_ = true;
|
|
|