Skip to content

Instantly share code, notes, and snippets.

@tdresser
Created September 8, 2016 12:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tdresser/315f06173d6ec2b800523829adc35103 to your computer and use it in GitHub Desktop.
Save tdresser/315f06173d6ec2b800523829adc35103 to your computer and use it in GitHub Desktop.
diff --git a/third_party/WebKit/Source/platform/scheduler/base/task_queue_manager.cc b/third_party/WebKit/Source/platform/scheduler/base/task_queue_manager.cc
index f44ee45..c1c1c02 100644
--- a/third_party/WebKit/Source/platform/scheduler/base/task_queue_manager.cc
+++ b/third_party/WebKit/Source/platform/scheduler/base/task_queue_manager.cc
@@ -2,6 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "base/atomicops.h"
+
#include "platform/scheduler/base/task_queue_manager.h"
#include <queue>
@@ -229,7 +231,12 @@ void TaskQueueManager::DoWork(base::TimeTicks run_time, bool from_main_thread) {
FOR_EACH_OBSERVER(TaskTimeObserver, task_time_observers_,
ReportTaskTime(MonotonicTimeInSeconds(task_start_time),
MonotonicTimeInSeconds(task_end_time)));
+
task_start_time = task_end_time;
+ base::subtle::Barrier_AtomicIncrement(&sequence_, 1);
+ base::subtle::Barrier_AtomicIncrement(&sequence_, 1);
+ base::subtle::Barrier_AtomicIncrement(&sequence_, 1);
+ base::subtle::Barrier_AtomicIncrement(&sequence_, 1);
}
work_queue = nullptr; // The queue may have been unregistered.
diff --git a/third_party/WebKit/Source/platform/scheduler/base/task_queue_manager.h b/third_party/WebKit/Source/platform/scheduler/base/task_queue_manager.h
index 88627ca..ee1df26 100644
--- a/third_party/WebKit/Source/platform/scheduler/base/task_queue_manager.h
+++ b/third_party/WebKit/Source/platform/scheduler/base/task_queue_manager.h
@@ -247,7 +247,7 @@ class BLINK_PLATFORM_EXPORT TaskQueueManager
Observer* observer_; // NOT OWNED
scoped_refptr<DeletionSentinel> deletion_sentinel_;
base::WeakPtrFactory<TaskQueueManager> weak_factory_;
-
+ base::subtle::Atomic32 sequence_;
DISALLOW_COPY_AND_ASSIGN(TaskQueueManager);
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment