Chromium Code Reviews| Index: base/trace_event/memory_dump_manager.cc |
| diff --git a/base/trace_event/memory_dump_manager.cc b/base/trace_event/memory_dump_manager.cc |
| index 3814c21fd28698babd28008c41ca85283b3e817f..f7963e33ca3ee6ebeb647a8fb08bc270033546a1 100644 |
| --- a/base/trace_event/memory_dump_manager.cc |
| +++ b/base/trace_event/memory_dump_manager.cc |
| @@ -8,6 +8,7 @@ |
| #include "base/atomic_sequence_num.h" |
| #include "base/compiler_specific.h" |
| +#include "base/hash.h" |
| #include "base/thread_task_runner_handle.h" |
| #include "base/trace_event/memory_dump_provider.h" |
| #include "base/trace_event/memory_dump_session_state.h" |
| @@ -132,6 +133,10 @@ void InitializeThreadLocalEventBufferIfSupported() { |
| } // namespace |
| +// The value -1 is not used as child process id. |
| +const int MemoryDumpManager::kInvalidTracingProcessId = |
| + MemoryDumpManager::ChildProcessIdToTracingProcessId(-1); |
|
dcheng
2015/06/25 20:28:36
FYI, this introduces a static initializer. Sorry I
|
| + |
| // static |
| const char* const MemoryDumpManager::kTraceCategoryForTesting = kTraceCategory; |
| @@ -157,6 +162,7 @@ void MemoryDumpManager::SetInstanceForTesting(MemoryDumpManager* instance) { |
| MemoryDumpManager::MemoryDumpManager() |
| : delegate_(nullptr), |
| memory_tracing_enabled_(0), |
| + tracing_process_id_(kInvalidTracingProcessId), |
| skip_core_dumpers_auto_registration_for_testing_(false) { |
| g_next_guid.GetNext(); // Make sure that first guid is not zero. |
| } |
| @@ -432,6 +438,12 @@ void MemoryDumpManager::OnTraceLogDisabled() { |
| session_state_ = nullptr; |
| } |
| +// static |
| +int MemoryDumpManager::ChildProcessIdToTracingProcessId(int child_process_id) { |
| + return Hash(reinterpret_cast<const char*>(&child_process_id), |
| + sizeof(child_process_id)); |
| +} |
| + |
| MemoryDumpManager::MemoryDumpProviderInfo::MemoryDumpProviderInfo( |
| const scoped_refptr<SingleThreadTaskRunner>& task_runner) |
| : task_runner(task_runner), consecutive_failures(0), disabled(false) { |