From 9cf864400440d2fa0dea5753335bd5eeb4d44c52 Mon Sep 17 00:00:00 2001 From: "johnmccutchan@google.com" Date: Mon, 25 Nov 2013 15:41:10 +0000 Subject: [PATCH] Always update scheduled thread id TBR Review URL: https://codereview.chromium.org//84993005 git-svn-id: http://dart.googlecode.com/svn/branches/bleeding_edge/dart@30633 260f80e4-7a28-3924-810f-c04153c831b5 --- runtime/vm/profiler.cc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/runtime/vm/profiler.cc b/runtime/vm/profiler.cc index a6e53a7fb..6ebe82910 100644 --- a/runtime/vm/profiler.cc +++ b/runtime/vm/profiler.cc @@ -171,11 +171,6 @@ void ProfilerManager::ShutdownIsolateForProfiling(Isolate* isolate) { void ProfilerManager::ScheduleIsolateHelper(Isolate* isolate) { ScopedMonitor lock(monitor_); - intptr_t i = FindIsolate(isolate); - if (i >= 0) { - // Already scheduled. - return; - } { ScopedMutex profiler_data_lock(isolate->profiler_data_mutex()); IsolateProfilerData* profiler_data = isolate->profiler_data(); @@ -185,6 +180,11 @@ void ProfilerManager::ScheduleIsolateHelper(Isolate* isolate) { profiler_data->Scheduled(OS::GetCurrentTimeMicros(), Thread::GetCurrentThreadId()); } + intptr_t i = FindIsolate(isolate); + if (i >= 0) { + // Already scheduled. + return; + } AddIsolate(isolate); lock.Notify(); }