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

Issue 2628313004: Add TaskScheduler::JoinForTesting(). (Closed)

Created:
3 years, 11 months ago by fdoray
Modified:
3 years, 11 months ago
Reviewers:
robliao, gab
CC:
chromium-reviews, gab+watch_chromium.org, robliao+watch_chromium.org, fdoray+watch_chromium.org, vmpstr+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Add TaskScheduler::JoinForTesting(). Before this CL, there was no way to unregister a TaskScheduler registered by TaskScheduler::CreateAndSetSimpleTaskScheduler() (TaskSchedulerImpl::JoinForTesting() must be called before deleting a TaskSchedulerImpl, but can only be called when the suggested reclaim time is TimeDelta::Max()). This is impractical when unit testing a class that calls TaskScheduler::CreateAndSetSimpleTaskScheduler() (came up in https://codereview.chromium.org/2610493002/). This CL: - Allows TaskSchedulerImpl::JoinForTesting() to be called on a TaskSchedulerImpl instance whose suggested reclaim time is not TimeDelta::Max(). - Adds TaskScheduler::JoinForTesting(), so that no cast is required to join the current TaskScheduler instance. - Documents that TaskScheduler::JoinForTesting() must be called before destroying a TaskScheduler (so that callers don't have to look at task_scheduler_impl.h to learn that). BUG=553459 Review-Url: https://codereview.chromium.org/2628313004 Cr-Commit-Position: refs/heads/master@{#445915} Committed: https://chromium.googlesource.com/chromium/src/+/7bba05ed69f2a2fdf3aca587dec0c9f148bdc469

Patch Set 1 #

Patch Set 2 : fix test error #

Total comments: 11

Patch Set 3 : CR robliao #13 #

Total comments: 7

Patch Set 4 : CR gab #18 #

Patch Set 5 : CR robliao #26 (DisallowWorkerDetachment) #

Patch Set 6 : self-review #

Patch Set 7 : self-review #

Total comments: 4

Patch Set 8 : CR robliao #34 (reword comments) #

Patch Set 9 : self-review #

Unified diffs Side-by-side diffs Delta from patch set Stats (+51 lines, -28 lines) Patch
M base/task_scheduler/scheduler_worker.h View 1 2 3 4 5 6 7 8 2 chunks +4 lines, -2 lines 0 comments Download
M base/task_scheduler/scheduler_worker.cc View 1 2 3 3 chunks +23 lines, -10 lines 0 comments Download
M base/task_scheduler/scheduler_worker_pool_impl.h View 1 2 3 4 5 6 7 1 chunk +4 lines, -6 lines 0 comments Download
M base/task_scheduler/task_scheduler.h View 2 chunks +7 lines, -0 lines 0 comments Download
M base/task_scheduler/task_scheduler_impl.h View 2 chunks +1 line, -7 lines 0 comments Download
M base/task_scheduler/task_scheduler_impl.cc View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
M base/test/scoped_task_scheduler.cc View 1 2 3 3 chunks +9 lines, -0 lines 0 comments Download
M base/threading/sequenced_worker_pool_unittest.cc View 2 chunks +1 line, -3 lines 0 comments Download

Messages

Total messages: 45 (25 generated)
fdoray
PTAL
3 years, 11 months ago (2017-01-13 19:25:52 UTC) #4
gab
On 2017/01/13 19:25:52, fdoray wrote: > PTAL lg at first sight but TaskScheduler test is ...
3 years, 11 months ago (2017-01-13 23:45:48 UTC) #7
fdoray
On 2017/01/13 23:45:48, gab wrote: > On 2017/01/13 19:25:52, fdoray wrote: > > PTAL > ...
3 years, 11 months ago (2017-01-17 18:29:13 UTC) #10
robliao
https://codereview.chromium.org/2628313004/diff/20001/base/task_scheduler/scheduler_worker.cc File base/task_scheduler/scheduler_worker.cc (right): https://codereview.chromium.org/2628313004/diff/20001/base/task_scheduler/scheduler_worker.cc#newcode240 base/task_scheduler/scheduler_worker.cc:240: // Join outside the lock. Nit: Remove this comment ...
3 years, 11 months ago (2017-01-17 19:01:27 UTC) #13
fdoray
PTAnL https://codereview.chromium.org/2628313004/diff/20001/base/task_scheduler/scheduler_worker.cc File base/task_scheduler/scheduler_worker.cc (right): https://codereview.chromium.org/2628313004/diff/20001/base/task_scheduler/scheduler_worker.cc#newcode240 base/task_scheduler/scheduler_worker.cc:240: // Join outside the lock. On 2017/01/17 19:01:27, ...
3 years, 11 months ago (2017-01-17 20:43:14 UTC) #16
robliao
https://codereview.chromium.org/2628313004/diff/20001/base/task_scheduler/scheduler_worker_pool_impl.h File base/task_scheduler/scheduler_worker_pool_impl.h (left): https://codereview.chromium.org/2628313004/diff/20001/base/task_scheduler/scheduler_worker_pool_impl.h#oldcode106 base/task_scheduler/scheduler_worker_pool_impl.h:106: void DisallowWorkerDetachmentForTesting(); On 2017/01/17 20:43:13, fdoray wrote: > On ...
3 years, 11 months ago (2017-01-17 21:09:04 UTC) #17
gab
https://codereview.chromium.org/2628313004/diff/40001/base/task_scheduler/scheduler_worker.cc File base/task_scheduler/scheduler_worker.cc (right): https://codereview.chromium.org/2628313004/diff/40001/base/task_scheduler/scheduler_worker.cc#newcode239 base/task_scheduler/scheduler_worker.cc:239: // Wake-up the thread. It will see that |should_exit_for_testing_| ...
3 years, 11 months ago (2017-01-17 21:24:25 UTC) #18
fdoray
PTAnL https://codereview.chromium.org/2628313004/diff/20001/base/task_scheduler/scheduler_worker_pool_impl.h File base/task_scheduler/scheduler_worker_pool_impl.h (left): https://codereview.chromium.org/2628313004/diff/20001/base/task_scheduler/scheduler_worker_pool_impl.h#oldcode106 base/task_scheduler/scheduler_worker_pool_impl.h:106: void DisallowWorkerDetachmentForTesting(); On 2017/01/17 21:09:03, robliao wrote: > ...
3 years, 11 months ago (2017-01-17 23:51:00 UTC) #21
gab
lgtm https://codereview.chromium.org/2628313004/diff/40001/base/task_scheduler/task_scheduler.h File base/task_scheduler/task_scheduler.h (right): https://codereview.chromium.org/2628313004/diff/40001/base/task_scheduler/task_scheduler.h#newcode43 base/task_scheduler/task_scheduler.h:43: // returned. On 2017/01/17 23:51:00, fdoray wrote: > ...
3 years, 11 months ago (2017-01-18 00:28:14 UTC) #22
fdoray
robliao: PTAnL
3 years, 11 months ago (2017-01-18 00:51:44 UTC) #23
robliao
https://codereview.chromium.org/2628313004/diff/20001/base/task_scheduler/scheduler_worker_pool_impl.h File base/task_scheduler/scheduler_worker_pool_impl.h (left): https://codereview.chromium.org/2628313004/diff/20001/base/task_scheduler/scheduler_worker_pool_impl.h#oldcode106 base/task_scheduler/scheduler_worker_pool_impl.h:106: void DisallowWorkerDetachmentForTesting(); On 2017/01/17 23:51:00, fdoray wrote: > On ...
3 years, 11 months ago (2017-01-18 00:58:19 UTC) #24
fdoray
https://codereview.chromium.org/2628313004/diff/20001/base/task_scheduler/scheduler_worker_pool_impl.h File base/task_scheduler/scheduler_worker_pool_impl.h (left): https://codereview.chromium.org/2628313004/diff/20001/base/task_scheduler/scheduler_worker_pool_impl.h#oldcode106 base/task_scheduler/scheduler_worker_pool_impl.h:106: void DisallowWorkerDetachmentForTesting(); On 2017/01/18 00:58:19, robliao wrote: > On ...
3 years, 11 months ago (2017-01-19 16:37:40 UTC) #25
robliao
https://codereview.chromium.org/2628313004/diff/20001/base/task_scheduler/scheduler_worker_pool_impl.h File base/task_scheduler/scheduler_worker_pool_impl.h (left): https://codereview.chromium.org/2628313004/diff/20001/base/task_scheduler/scheduler_worker_pool_impl.h#oldcode106 base/task_scheduler/scheduler_worker_pool_impl.h:106: void DisallowWorkerDetachmentForTesting(); On 2017/01/19 16:37:40, fdoray wrote: > On ...
3 years, 11 months ago (2017-01-19 16:57:29 UTC) #26
fdoray
robliao@: PTAnL
3 years, 11 months ago (2017-01-24 16:34:48 UTC) #31
robliao
lgtm + comments. Thanks! https://codereview.chromium.org/2628313004/diff/120001/base/task_scheduler/scheduler_worker.h File base/task_scheduler/scheduler_worker.h (right): https://codereview.chromium.org/2628313004/diff/120001/base/task_scheduler/scheduler_worker.h#newcode119 base/task_scheduler/scheduler_worker.h:119: // Note: A thread which ...
3 years, 11 months ago (2017-01-24 18:20:18 UTC) #34
fdoray
https://codereview.chromium.org/2628313004/diff/120001/base/task_scheduler/scheduler_worker.h File base/task_scheduler/scheduler_worker.h (right): https://codereview.chromium.org/2628313004/diff/120001/base/task_scheduler/scheduler_worker.h#newcode119 base/task_scheduler/scheduler_worker.h:119: // Note: A thread which detaches itself before JoinForTesting() ...
3 years, 11 months ago (2017-01-24 20:03:51 UTC) #35
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2628313004/160001
3 years, 11 months ago (2017-01-24 20:07:00 UTC) #38
commit-bot: I haz the power
Try jobs failed on following builders: android_compile_dbg on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_compile_dbg/builds/199940)
3 years, 11 months ago (2017-01-24 20:37:58 UTC) #40
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2628313004/160001
3 years, 11 months ago (2017-01-25 00:55:32 UTC) #42
commit-bot: I haz the power
3 years, 11 months ago (2017-01-25 02:35:52 UTC) #45
Message was sent while issue was closed.
Committed patchset #9 (id:160001) as
https://chromium.googlesource.com/chromium/src/+/7bba05ed69f2a2fdf3aca587dec0...

Powered by Google App Engine
This is Rietveld 408576698