diff options
Diffstat (limited to 'net/base/tcp_client_socket_pool.cc')
-rw-r--r-- | net/base/tcp_client_socket_pool.cc | 28 |
1 files changed, 11 insertions, 17 deletions
diff --git a/net/base/tcp_client_socket_pool.cc b/net/base/tcp_client_socket_pool.cc index c4b97b8..b8bb5c6 100644 --- a/net/base/tcp_client_socket_pool.cc +++ b/net/base/tcp_client_socket_pool.cc @@ -186,7 +186,6 @@ int ClientSocketPoolBase::RequestSocket( handle->set_socket(idle_socket.socket); handle->set_is_reused(true); group.sockets_handed_out_count++; - CHECK(group.sockets_handed_out_count <= group.active_socket_count); CheckSocketCounts(group); return OK; } @@ -213,7 +212,6 @@ int ClientSocketPoolBase::RequestSocket( void ClientSocketPoolBase::CancelRequest(const std::string& group_name, const ClientSocketHandle* handle) { - CHECK(handle); CHECK(ContainsKey(group_map_, group_name)); Group& group = group_map_[group_name]; @@ -233,21 +231,19 @@ void ClientSocketPoolBase::CancelRequest(const std::string& group_name, CHECK(ContainsKey(group.connecting_requests, handle)); RequestMap::iterator map_it = group.connecting_requests.find(handle); - RemoveConnectingSocket(handle); + if (map_it != group.connecting_requests.end()) { + RemoveConnectingSocket(handle); - CheckSocketCounts(group); - group.connecting_requests.erase(map_it); - group.active_socket_count--; - CheckSocketCounts(group); + group.connecting_requests.erase(map_it); + group.active_socket_count--; - // Delete group if no longer needed. - if (group.active_socket_count == 0 && group.idle_sockets.empty()) { - CHECK(group.pending_requests.empty()); - CHECK(group.sockets_handed_out_count == 0); - CHECK(group.connecting_requests.size() == 0); - CHECK(group.connecting_requests.empty()); - group_map_.erase(group_name); - return; + // Delete group if no longer needed. + if (group.active_socket_count == 0 && group.idle_sockets.empty()) { + CHECK(group.pending_requests.empty()); + CHECK(group.connecting_requests.empty()); + group_map_.erase(group_name); + return; + } } CheckSocketCounts(group); @@ -374,7 +370,6 @@ void ClientSocketPoolBase::DoReleaseSocket(const std::string& group_name, group.active_socket_count--; group.sockets_handed_out_count--; - CHECK(group.sockets_handed_out_count >= 0); const bool can_reuse = socket->IsConnectedAndIdle(); if (can_reuse) { @@ -464,7 +459,6 @@ CompletionCallback* ClientSocketPoolBase::OnConnectingRequestComplete( request.handle->set_socket(socket); request.handle->set_is_reused(false); group.sockets_handed_out_count++; - CHECK(group.sockets_handed_out_count <= group.active_socket_count); CheckSocketCounts(group); } |