diff options
Diffstat (limited to 'mojo/services/tracing/public/cpp/trace_provider_impl.cc')
-rw-r--r-- | mojo/services/tracing/public/cpp/trace_provider_impl.cc | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/mojo/services/tracing/public/cpp/trace_provider_impl.cc b/mojo/services/tracing/public/cpp/trace_provider_impl.cc index 12842e5..ea6c8f4 100644 --- a/mojo/services/tracing/public/cpp/trace_provider_impl.cc +++ b/mojo/services/tracing/public/cpp/trace_provider_impl.cc @@ -19,7 +19,9 @@ namespace mojo { TraceProviderImpl::TraceProviderImpl() : binding_(this), tracing_forced_(false), weak_factory_(this) {} -TraceProviderImpl::~TraceProviderImpl() {} +TraceProviderImpl::~TraceProviderImpl() { + StopTracing(); +} void TraceProviderImpl::Bind(InterfaceRequest<tracing::TraceProvider> request) { if (!binding_.is_bound()) { @@ -44,11 +46,12 @@ void TraceProviderImpl::StartTracing(const String& categories, } void TraceProviderImpl::StopTracing() { - DCHECK(recorder_); - base::trace_event::TraceLog::GetInstance()->SetDisabled(); + if (recorder_) { + base::trace_event::TraceLog::GetInstance()->SetDisabled(); - base::trace_event::TraceLog::GetInstance()->Flush( - base::Bind(&TraceProviderImpl::SendChunk, base::Unretained(this))); + base::trace_event::TraceLog::GetInstance()->Flush( + base::Bind(&TraceProviderImpl::SendChunk, base::Unretained(this))); + } } void TraceProviderImpl::ForceEnableTracing() { |