Chromium Code Reviews| 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 1c79923a40057f5db9c2ef2cd9920e4eda4da43e..93bdc92e791bb17e154b2fefe6c047fc213bff69 100644 | 
| --- a/net/socket/client_socket_pool_base.cc | 
| +++ b/net/socket/client_socket_pool_base.cc | 
| @@ -449,7 +449,7 @@ bool ClientSocketPoolBaseHelper::AssignIdleSocketToRequest( | 
| // the |idle_socket_it| will be set to the newest used idle socket. | 
| for (std::list<IdleSocket>::iterator it = idle_sockets->begin(); | 
| it != idle_sockets->end();) { | 
| - if (!it->socket->IsConnectedAndIdle()) { | 
| + if (!it->IsReusable()) { | 
| DecrementIdleCount(); | 
| delete it->socket; | 
| it = idle_sockets->erase(it); | 
| @@ -642,15 +642,19 @@ base::DictionaryValue* ClientSocketPoolBaseHelper::GetInfoAsValue( | 
| return dict; | 
| } | 
| +bool ClientSocketPoolBaseHelper::IdleSocket::IsReusable() const { | 
| + if (socket->WasEverUsed()) | 
| + return socket->IsConnectedAndIdle(); | 
| + return socket->IsConnected(); | 
| +} | 
| + | 
| bool ClientSocketPoolBaseHelper::IdleSocket::ShouldCleanup( | 
| base::TimeTicks now, | 
| base::TimeDelta timeout) const { | 
| bool timed_out = (now - start_time) >= timeout; | 
| if (timed_out) | 
| return true; | 
| - if (socket->WasEverUsed()) | 
| - return !socket->IsConnectedAndIdle(); | 
| - return !socket->IsConnected(); | 
| + return !IsReusable(); | 
| 
 
mmenke
2014/02/25 17:01:53
Hmm...So the old extra check here was useless, giv
 
 | 
| } | 
| void ClientSocketPoolBaseHelper::CleanupIdleSockets(bool force) { |