summaryrefslogtreecommitdiffstats
path: root/sync/engine/sync_scheduler_impl.h
diff options
context:
space:
mode:
authorkinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-08 04:36:43 +0000
committerkinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-08 04:36:43 +0000
commit6f99b280a55076d250e3c26170b86a6f0aba2baa (patch)
tree1072caafb559981e4cfe073b5e452ddc81813c83 /sync/engine/sync_scheduler_impl.h
parent155a8d41d07be054fbd1a5adb015c9dbbcaca414 (diff)
downloadchromium_src-6f99b280a55076d250e3c26170b86a6f0aba2baa.zip
chromium_src-6f99b280a55076d250e3c26170b86a6f0aba2baa.tar.gz
chromium_src-6f99b280a55076d250e3c26170b86a6f0aba2baa.tar.bz2
Revert 210333 "Lock-free shutdown of profile sync service. Chang..."
Suspected to have introduced (flaky) SEGV crash in ProfileSyncServiceTypedUrlTest.IgnoreLocalhostURL http://build.chromium.org/p/chromium.chromiumos/builders/Linux%20ChromiumOS%20Tests%20(1)/builds/28925/steps/unit_tests/logs/stdio http://build.chromium.org/p/chromium.chromiumos/builders/Linux%20ChromiumOS%20Tests%20(dbg)(1)/builds/21682/steps/unit_tests/logs/IgnoreLocalhostURL http://build.chromium.org/p/chromium.win/builders/Win%207%20Tests%20x64%20%283%29/builds/7252/steps/unit_tests/logs/IgnoreLocalhostURL > Lock-free shutdown of profile sync service. Changes include: > * Disconnect non-frontend processor/associator to stop accessing directory > so that sync backend can be shut down without waiting. > * Change non-frontend controller so that creation/destruction of > processor/associator doesn't depend on valid controller. So > scoped wait on stopping controller can be removed. > * Move sync thread to PSS. It's created when starting first backend and > destroyed on last browser thread. > > BUG=19757 > > Review URL: https://chromiumcodereview.appspot.com/16770005 TBR=haitaol@chromium.org Review URL: https://codereview.chromium.org/18489004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@210346 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'sync/engine/sync_scheduler_impl.h')
-rw-r--r--sync/engine/sync_scheduler_impl.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/sync/engine/sync_scheduler_impl.h b/sync/engine/sync_scheduler_impl.h
index 362d754..5d350a4 100644
--- a/sync/engine/sync_scheduler_impl.h
+++ b/sync/engine/sync_scheduler_impl.h
@@ -55,7 +55,7 @@ class SYNC_EXPORT_PRIVATE SyncSchedulerImpl
virtual void Start(Mode mode) OVERRIDE;
virtual bool ScheduleConfiguration(
const ConfigurationParams& params) OVERRIDE;
- virtual void RequestStop() OVERRIDE;
+ virtual void RequestStop(const base::Closure& callback) OVERRIDE;
virtual void ScheduleLocalNudge(
const base::TimeDelta& desired_delay,
ModelTypeSet types,
@@ -183,7 +183,7 @@ class SYNC_EXPORT_PRIVATE SyncSchedulerImpl
bool CanRunNudgeJobNow(JobPriority priority);
// 'Impl' here refers to real implementation of public functions.
- void StopImpl();
+ void StopImpl(const base::Closure& callback);
// If the scheduler's current state supports it, this will create a job based
// on the passed in parameters and coalesce it with any other pending jobs,