diff options
author | primiano <primiano@chromium.org> | 2015-04-08 08:10:37 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-04-08 15:11:13 +0000 |
commit | f2f5ca37b0b57ffcc91abad73b6c81e82e0c2511 (patch) | |
tree | 813de2654de43ffcb37209563d5f5d02ed6f072c /base/trace_event | |
parent | 38087a4234ddd8bdab979dda6c32e37f281ef83a (diff) | |
download | chromium_src-f2f5ca37b0b57ffcc91abad73b6c81e82e0c2511.zip chromium_src-f2f5ca37b0b57ffcc91abad73b6c81e82e0c2511.tar.gz chromium_src-f2f5ca37b0b57ffcc91abad73b6c81e82e0c2511.tar.bz2 |
[tracing] child-process-side impl for inter-process memory dumps
This CL introduces the implementation for handling the inter-process
memory dumps on the child-process side.
Conceptually this consists of a simple plumbing in TraceMessageFilter
in order to propagate the request up to the browser's MemoryDumpManager,
as the child processes' MDM play a very passive role in the inter-process
coordination game.
In practice, some extra care is required to match the lifetime of MDM
MDM (long) and ChildTraceMessageFilter (shorter) in a thread-safe
manner, which requires the introduction of the proxy class herein
called ChildMemoryDumpManagerDelegateImpl.
More context and design doc are available in the attached BUG.
Reason for NOTRY: all but one bots are green. I started goo.gl/tBX5f1
on infra-dev about the failure and it seems due to a bot out of space.
The change has been sitting for 4+ hours and there are other CLs blocked
on this.
BUG=462930,474973
NOTRY=true
Review URL: https://codereview.chromium.org/1039963003
Cr-Commit-Position: refs/heads/master@{#324229}
Diffstat (limited to 'base/trace_event')
-rw-r--r-- | base/trace_event/memory_dump_manager.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/base/trace_event/memory_dump_manager.cc b/base/trace_event/memory_dump_manager.cc index ed965fa..ac79144 100644 --- a/base/trace_event/memory_dump_manager.cc +++ b/base/trace_event/memory_dump_manager.cc @@ -77,7 +77,10 @@ void MemoryDumpManager::Initialize() { void MemoryDumpManager::SetDelegate(MemoryDumpManagerDelegate* delegate) { AutoLock lock(lock_); - DCHECK(delegate_ == nullptr); + // TODO(primiano): The DCHECK below is disabled just temporary (and it is + // strongly useful). It should be re-enabled soon as crbug.com/474973 is fixed + // (ETA: end of April 2015). Commenting out just to de-entangle CL deps. + // DCHECK(delegate_ == nullptr); delegate_ = delegate; } |