Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(314)

Unified Diff: base/task_scheduler/post_task.h

Issue 2885513002: Expose SingleThreadTaskRunnerThreadMode in post_task.h (Closed)
Patch Set: Move Default Argument to post_task.h Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: base/task_scheduler/post_task.h
diff --git a/base/task_scheduler/post_task.h b/base/task_scheduler/post_task.h
index 1fc10bffeade30848e53052c763932ceaced5d6f..ec8d4f18fee9e36c47f8f85d0ea1b5e5b7c71f0e 100644
--- a/base/task_scheduler/post_task.h
+++ b/base/task_scheduler/post_task.h
@@ -16,6 +16,7 @@
#include "base/sequenced_task_runner.h"
#include "base/single_thread_task_runner.h"
#include "base/task_runner.h"
+#include "base/task_scheduler/single_thread_task_runner_thread_mode.h"
#include "base/task_scheduler/task_traits.h"
#include "base/time/time.h"
#include "build/build_config.h"
@@ -190,8 +191,9 @@ BASE_EXPORT scoped_refptr<SequencedTaskRunner>
CreateSequencedTaskRunnerWithTraits(const TaskTraits& traits);
// Returns a SingleThreadTaskRunner whose PostTask invocations result in
-// scheduling tasks using |traits|. Tasks run on a single thread in posting
-// order.
+// scheduling tasks using |traits| on a thread determined by |thread_mode|. See
+// base/task_scheduler/single_thread_task_runner_thread_mode.h for |thread_mode|
+// details. Tasks run on a single thread in posting order.
//
// If all you need is to make sure that tasks don't run concurrently (e.g.
// because they access a data structure which is not thread-safe), use
@@ -200,19 +202,26 @@ CreateSequencedTaskRunnerWithTraits(const TaskTraits& traits);
// under-documented third-party APIs, e.g. other OS') or share data across tasks
// using thread-local storage.
BASE_EXPORT scoped_refptr<SingleThreadTaskRunner>
-CreateSingleThreadTaskRunnerWithTraits(const TaskTraits& traits);
+CreateSingleThreadTaskRunnerWithTraits(
+ const TaskTraits& traits,
+ SingleThreadTaskRunnerThreadMode thread_mode =
+ SingleThreadTaskRunnerThreadMode::SHARED);
#if defined(OS_WIN)
// Returns a SingleThreadTaskRunner whose PostTask invocations result in
-// scheduling tasks using |traits| in a COM Single-Threaded Apartment. Tasks run
-// in the same Single-Threaded Apartment in posting order for the returned
-// SingleThreadTaskRunner. There is not necessarily a one-to-one correspondence
-// between SingleThreadTaskRunners and Single-Threaded Apartments. The
-// implementation is free to share apartments or create new apartments as
-// necessary. In either case, care should be taken to make sure COM pointers are
-// not smuggled across apartments.
+// scheduling tasks using |traits| in a COM Single-Threaded Apartment on a
+// thread determined by |thread_mode|. See
+// base/task_scheduler/single_thread_task_runner_thread_mode.h for |thread_mode|
+// details. Tasks run in the same Single-Threaded Apartment in posting order for
+// the returned SingleThreadTaskRunner. There is not necessarily a one-to-one
+// correspondence between SingleThreadTaskRunners and Single-Threaded
+// Apartments. The implementation is free to share apartments or create new
+// apartments as necessary. In either case, care should be taken to make sure
+// COM pointers are not smuggled across apartments.
BASE_EXPORT scoped_refptr<SingleThreadTaskRunner>
-CreateCOMSTATaskRunnerWithTraits(const TaskTraits& traits);
+CreateCOMSTATaskRunnerWithTraits(const TaskTraits& traits,
+ SingleThreadTaskRunnerThreadMode thread_mode =
+ SingleThreadTaskRunnerThreadMode::SHARED);
#endif // defined(OS_WIN)
} // namespace base
« no previous file with comments | « no previous file | base/task_scheduler/post_task.cc » ('j') | base/task_scheduler/task_scheduler_impl_unittest.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698