summaryrefslogtreecommitdiff
path: root/chromium/base/task/thread_pool
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/base/task/thread_pool')
-rw-r--r--chromium/base/task/thread_pool/job_task_source.cc5
-rw-r--r--chromium/base/task/thread_pool/job_task_source.h6
-rw-r--r--chromium/base/task/thread_pool/service_thread_unittest.cc1
-rw-r--r--chromium/base/task/thread_pool/task_tracker.cc4
-rw-r--r--chromium/base/task/thread_pool/task_tracker.h1
-rw-r--r--chromium/base/task/thread_pool/task_tracker_posix.h1
-rw-r--r--chromium/base/task/thread_pool/thread_group_impl.h2
-rw-r--r--chromium/base/task/thread_pool/thread_pool_impl.h2
-rw-r--r--chromium/base/task/thread_pool/tracked_ref.h2
-rw-r--r--chromium/base/task/thread_pool/worker_thread.cc20
10 files changed, 24 insertions, 20 deletions
diff --git a/chromium/base/task/thread_pool/job_task_source.cc b/chromium/base/task/thread_pool/job_task_source.cc
index c86e3e0f118..5ff698c7b78 100644
--- a/chromium/base/task/thread_pool/job_task_source.cc
+++ b/chromium/base/task/thread_pool/job_task_source.cc
@@ -117,9 +117,7 @@ JobTaskSource::JoinFlag::JoinFlag() = default;
JobTaskSource::JoinFlag::~JoinFlag() = default;
void JobTaskSource::JoinFlag::SetWaiting() {
- const auto previous_value =
- value_.exchange(kWaitingForWorkerToYield, std::memory_order_relaxed);
- DCHECK(previous_value == kNotWaiting);
+ value_.store(kWaitingForWorkerToYield, std::memory_order_relaxed);
}
bool JobTaskSource::JoinFlag::ShouldWorkerYield() {
@@ -215,6 +213,7 @@ void JobTaskSource::Cancel(TaskSource::Transaction* transaction) {
bool JobTaskSource::WaitForParticipationOpportunity() {
CheckedAutoLock auto_lock(lock_);
+ DCHECK(!join_flag_.IsWaiting());
// std::memory_order_relaxed is sufficient because no other state is
// synchronized with |state_| outside of |lock_|.
diff --git a/chromium/base/task/thread_pool/job_task_source.h b/chromium/base/task/thread_pool/job_task_source.h
index e7e578db590..b043f3269a1 100644
--- a/chromium/base/task/thread_pool/job_task_source.h
+++ b/chromium/base/task/thread_pool/job_task_source.h
@@ -150,6 +150,12 @@ class BASE_EXPORT JobTaskSource : public TaskSource {
JoinFlag();
~JoinFlag();
+ // Returns true if the status is not kNotWaiting, using
+ // std::memory_order_relaxed.
+ bool IsWaiting() {
+ return value_.load(std::memory_order_relaxed) != kNotWaiting;
+ }
+
// Sets the status as kWaitingForWorkerToYield using
// std::memory_order_relaxed.
void SetWaiting();
diff --git a/chromium/base/task/thread_pool/service_thread_unittest.cc b/chromium/base/task/thread_pool/service_thread_unittest.cc
index 7b3d3c21031..d5b536a684f 100644
--- a/chromium/base/task/thread_pool/service_thread_unittest.cc
+++ b/chromium/base/task/thread_pool/service_thread_unittest.cc
@@ -8,6 +8,7 @@
#include "base/bind.h"
#include "base/debug/stack_trace.h"
+#include "base/logging.h"
#include "base/task/thread_pool/thread_pool_impl.h"
#include "base/task/thread_pool/thread_pool_instance.h"
#include "base/test/metrics/histogram_tester.h"
diff --git a/chromium/base/task/thread_pool/task_tracker.cc b/chromium/base/task/thread_pool/task_tracker.cc
index 1b02bf0f75a..06311fc3c96 100644
--- a/chromium/base/task/thread_pool/task_tracker.cc
+++ b/chromium/base/task/thread_pool/task_tracker.cc
@@ -13,10 +13,12 @@
#include "base/command_line.h"
#include "base/compiler_specific.h"
#include "base/json/json_writer.h"
+#include "base/logging.h"
#include "base/memory/ptr_util.h"
#include "base/metrics/histogram_macros.h"
#include "base/optional.h"
#include "base/sequence_token.h"
+#include "base/strings/string_util.h"
#include "base/synchronization/condition_variable.h"
#include "base/task/scoped_set_task_priority_for_current_thread.h"
#include "base/task/task_executor.h"
@@ -25,7 +27,7 @@
#include "base/threading/thread_restrictions.h"
#include "base/threading/thread_task_runner_handle.h"
#include "base/time/time.h"
-#include "base/trace_event/trace_event.h"
+#include "base/trace_event/base_tracing.h"
#include "base/values.h"
#include "build/build_config.h"
diff --git a/chromium/base/task/thread_pool/task_tracker.h b/chromium/base/task/thread_pool/task_tracker.h
index ab19ad3bb03..eebd7adde42 100644
--- a/chromium/base/task/thread_pool/task_tracker.h
+++ b/chromium/base/task/thread_pool/task_tracker.h
@@ -14,7 +14,6 @@
#include "base/atomicops.h"
#include "base/base_export.h"
#include "base/callback_forward.h"
-#include "base/logging.h"
#include "base/macros.h"
#include "base/metrics/histogram_base.h"
#include "base/sequence_checker.h"
diff --git a/chromium/base/task/thread_pool/task_tracker_posix.h b/chromium/base/task/thread_pool/task_tracker_posix.h
index 8f59d5368f3..c507004932b 100644
--- a/chromium/base/task/thread_pool/task_tracker_posix.h
+++ b/chromium/base/task/thread_pool/task_tracker_posix.h
@@ -8,7 +8,6 @@
#include <memory>
#include "base/base_export.h"
-#include "base/logging.h"
#include "base/macros.h"
#include "base/message_loop/message_pump_type.h"
#include "base/task/thread_pool/task_tracker.h"
diff --git a/chromium/base/task/thread_pool/thread_group_impl.h b/chromium/base/task/thread_pool/thread_group_impl.h
index 26f7da99dc3..3431be2f298 100644
--- a/chromium/base/task/thread_pool/thread_group_impl.h
+++ b/chromium/base/task/thread_pool/thread_group_impl.h
@@ -12,10 +12,10 @@
#include <vector>
#include "base/base_export.h"
+#include "base/check_op.h"
#include "base/compiler_specific.h"
#include "base/containers/stack.h"
#include "base/gtest_prod_util.h"
-#include "base/logging.h"
#include "base/macros.h"
#include "base/memory/ref_counted.h"
#include "base/optional.h"
diff --git a/chromium/base/task/thread_pool/thread_pool_impl.h b/chromium/base/task/thread_pool/thread_pool_impl.h
index 57a23fd0e0e..b7b4ac73f67 100644
--- a/chromium/base/task/thread_pool/thread_pool_impl.h
+++ b/chromium/base/task/thread_pool/thread_pool_impl.h
@@ -10,7 +10,7 @@
#include "base/base_export.h"
#include "base/callback.h"
-#include "base/logging.h"
+#include "base/check_op.h"
#include "base/macros.h"
#include "base/memory/ptr_util.h"
#include "base/memory/ref_counted.h"
diff --git a/chromium/base/task/thread_pool/tracked_ref.h b/chromium/base/task/thread_pool/tracked_ref.h
index 3b398f1a63e..b36e8e71430 100644
--- a/chromium/base/task/thread_pool/tracked_ref.h
+++ b/chromium/base/task/thread_pool/tracked_ref.h
@@ -8,8 +8,8 @@
#include <memory>
#include "base/atomic_ref_count.h"
+#include "base/check.h"
#include "base/gtest_prod_util.h"
-#include "base/logging.h"
#include "base/macros.h"
#include "base/memory/ptr_util.h"
#include "base/synchronization/waitable_event.h"
diff --git a/chromium/base/task/thread_pool/worker_thread.cc b/chromium/base/task/thread_pool/worker_thread.cc
index 79e5105b933..429838cf7df 100644
--- a/chromium/base/task/thread_pool/worker_thread.cc
+++ b/chromium/base/task/thread_pool/worker_thread.cc
@@ -16,7 +16,7 @@
#include "base/task/thread_pool/worker_thread_observer.h"
#include "base/threading/hang_watcher.h"
#include "base/time/time_override.h"
-#include "base/trace_event/trace_event.h"
+#include "base/trace_event/base_tracing.h"
#if defined(OS_MACOSX)
#include "base/mac/scoped_nsautorelease_pool.h"
@@ -293,9 +293,8 @@ NOINLINE void WorkerThread::RunBackgroundDedicatedCOMWorker() {
void WorkerThread::RunWorker() {
DCHECK_EQ(self_, this);
- TRACE_EVENT_INSTANT0("thread_pool", "WorkerThreadThread born",
- TRACE_EVENT_SCOPE_THREAD);
- TRACE_EVENT_BEGIN0("thread_pool", "WorkerThreadThread active");
+ TRACE_EVENT_INSTANT0("base", "WorkerThread born", TRACE_EVENT_SCOPE_THREAD);
+ TRACE_EVENT_BEGIN0("base", "WorkerThread active");
if (worker_thread_observer_)
worker_thread_observer_->OnWorkerThreadMainEntry();
@@ -317,9 +316,9 @@ void WorkerThread::RunWorker() {
// A WorkerThread starts out waiting for work.
{
- TRACE_EVENT_END0("thread_pool", "WorkerThreadThread active");
+ TRACE_EVENT_END0("base", "WorkerThread active");
delegate_->WaitForWork(&wake_up_event_);
- TRACE_EVENT_BEGIN0("thread_pool", "WorkerThreadThread active");
+ TRACE_EVENT_BEGIN0("base", "WorkerThread active");
}
while (!ShouldExit()) {
@@ -339,10 +338,10 @@ void WorkerThread::RunWorker() {
if (ShouldExit())
break;
- TRACE_EVENT_END0("thread_pool", "WorkerThreadThread active");
+ TRACE_EVENT_END0("base", "WorkerThread active");
hang_watch_scope.reset();
delegate_->WaitForWork(&wake_up_event_);
- TRACE_EVENT_BEGIN0("thread_pool", "WorkerThreadThread active");
+ TRACE_EVENT_BEGIN0("base", "WorkerThread active");
continue;
}
@@ -370,9 +369,8 @@ void WorkerThread::RunWorker() {
// and as such no more member accesses should be made after this point.
self_ = nullptr;
- TRACE_EVENT_END0("thread_pool", "WorkerThreadThread active");
- TRACE_EVENT_INSTANT0("thread_pool", "WorkerThreadThread dead",
- TRACE_EVENT_SCOPE_THREAD);
+ TRACE_EVENT_END0("base", "WorkerThread active");
+ TRACE_EVENT_INSTANT0("base", "WorkerThread dead", TRACE_EVENT_SCOPE_THREAD);
}
} // namespace internal