Index: src/platform-solaris.cc |
diff --git a/src/platform-solaris.cc b/src/platform-solaris.cc |
index 90e099a3a4b86847f85a1a9b253fc0bd5c3b3809..6e02a25bcfd1133ccc88ba8ac7748a33f4f9afba 100644 |
--- a/src/platform-solaris.cc |
+++ b/src/platform-solaris.cc |
@@ -754,7 +754,7 @@ class SignalSender : public Thread { |
ScopedLock lock(mutex_); |
SamplerRegistry::RemoveActiveSampler(sampler); |
if (SamplerRegistry::GetState() == SamplerRegistry::HAS_NO_SAMPLERS) { |
- RuntimeProfiler::StopRuntimeProfilerThreadBeforeShutdown(instance_); |
+ instance_->Join(); |
delete instance_; |
instance_ = NULL; |
RestoreSignalHandler(); |
@@ -771,9 +771,8 @@ class SignalSender : public Thread { |
if (state == SamplerRegistry::HAS_CPU_PROFILING_SAMPLERS) { |
if (!signal_handler_installed_) InstallSignalHandler(); |
SamplerRegistry::IterateActiveSamplers(&DoCpuProfile, this); |
- } else { |
- if (signal_handler_installed_) RestoreSignalHandler(); |
- if (RuntimeProfiler::WaitForSomeIsolateToEnterJS()) continue; |
+ } else if (signal_handler_installed_) { |
+ RestoreSignalHandler(); |
} |
Sleep(); // TODO(svenpanne) Figure out if OS:Sleep(interval_) is enough. |
} |