| Index: net/socket/client_socket_pool_base.cc
|
| diff --git a/net/socket/client_socket_pool_base.cc b/net/socket/client_socket_pool_base.cc
|
| index 86ba2dd47212c94da9f2816ba22dbdbd7be52909..816ecc97c456500f8a9543306c9ab6e9e43bc333 100644
|
| --- a/net/socket/client_socket_pool_base.cc
|
| +++ b/net/socket/client_socket_pool_base.cc
|
| @@ -341,8 +341,12 @@ int ClientSocketPoolBaseHelper::RequestSocketInternal(
|
| group->AddJob(connect_job.release());
|
| } else {
|
| LogBoundConnectJobToRequest(connect_job->net_log().source(), request);
|
| - connect_job->GetAdditionalErrorState(handle);
|
| - ClientSocket* error_socket = connect_job->ReleaseSocket();
|
| + ClientSocket* error_socket = NULL;
|
| + if (!preconnecting) {
|
| + DCHECK(handle);
|
| + connect_job->GetAdditionalErrorState(handle);
|
| + error_socket = connect_job->ReleaseSocket();
|
| + }
|
| if (error_socket) {
|
| HandOutSocket(error_socket, false /* not reused */, handle,
|
| base::TimeDelta(), group, request->net_log());
|
|
|