Index: runtime/vm/profiler.cc |
diff --git a/runtime/vm/profiler.cc b/runtime/vm/profiler.cc |
index a99b48ee84b38090e31fdc1e74dc7b6e2eef88a3..50eab00071fbf7d11ecd6ab109415e9d9859aa4d 100644 |
--- a/runtime/vm/profiler.cc |
+++ b/runtime/vm/profiler.cc |
@@ -78,6 +78,7 @@ void Profiler::InitOnce() { |
// Zero counters. |
memset(&counters_, 0, sizeof(counters_)); |
NativeSymbolResolver::InitOnce(); |
+ ThreadInterrupter::InitOnce(); |
ThreadInterrupter::SetInterruptPeriod(FLAG_profile_period); |
ThreadInterrupter::Startup(); |
initialized_ = true; |
@@ -97,6 +98,8 @@ void Profiler::Shutdown() { |
ASSERT(initialized_); |
ThreadInterrupter::Shutdown(); |
NativeSymbolResolver::ShutdownOnce(); |
+ // Note we do not free the sample buffer because there may be SIGPROFs |
+ // in flight. |
} |
void Profiler::SetSampleDepth(intptr_t depth) { |