| Index: net/socket/client_socket_pool.cc
|
| diff --git a/net/socket/client_socket_pool.cc b/net/socket/client_socket_pool.cc
|
| index a1967efdbab2b12a340ad7cb37e8af1596d82f45..04d0b950da47a9aa4c77f0c0286fda8abb4a52b3 100644
|
| --- a/net/socket/client_socket_pool.cc
|
| +++ b/net/socket/client_socket_pool.cc
|
| @@ -4,6 +4,7 @@
|
|
|
| #include "net/socket/client_socket_pool.h"
|
|
|
| +#include "base/debug/alias.h"
|
| #include "base/logging.h"
|
|
|
| namespace {
|
| @@ -21,6 +22,26 @@ int g_used_idle_socket_timeout_s = 300; // 5 minutes
|
|
|
| namespace net {
|
|
|
| +LayeredPool::LayeredPool() : magic_value_(ALIVE) {}
|
| +
|
| +LayeredPool::~LayeredPool() {
|
| + CrashIfFreed();
|
| + magic_value_ = DEAD;
|
| + stack_trace_ = base::debug::StackTrace();
|
| +}
|
| +
|
| +void LayeredPool::CrashIfFreed() {
|
| + if (magic_value_ != ALIVE) {
|
| + MagicValue magic_value = magic_value_;
|
| + base::debug::StackTrace deletion_callstack = stack_trace_;
|
| +
|
| + base::debug::Alias(&magic_value);
|
| + base::debug::Alias(&deletion_callstack);
|
| +
|
| + CHECK(false);
|
| + }
|
| +}
|
| +
|
| // static
|
| base::TimeDelta ClientSocketPool::unused_idle_socket_timeout() {
|
| return base::TimeDelta::FromSeconds(g_unused_idle_socket_timeout_s);
|
|
|