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) { |