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

Unified Diff: components/update_client/update_client_internal.h

Issue 1419473005: Fix task concurrency in components/update_client (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 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: components/update_client/update_client_internal.h
diff --git a/components/update_client/update_client_internal.h b/components/update_client/update_client_internal.h
index 8adf5f83591aa312df8129d2d5987ca97933134a..b74c696ef7a7e864c5c75991bb1ad0bd1c87dc37 100644
--- a/components/update_client/update_client_internal.h
+++ b/components/update_client/update_client_internal.h
@@ -65,10 +65,17 @@ class UpdateClientImpl : public UpdateClient {
scoped_refptr<Configurator> config_;
- // Contains the tasks that are queued up.
+ // Contains the tasks that are pending. In the current implementation,
+ // only update tasks (background tasks) are queued up. These tasks are
+ // pending while they are in this queue. They are not being handled for
+ // the moment.
std::queue<Task*> task_queue_;
- // Contains all tasks in progress.
+ // Contains all tasks in progress. These are the tasks that the update engine
+ // is executing at one moment. Install tasks are run concurrently, update
+ // tasks are always serialized, and update tasks are queued up if install
+ // tasks are running. In addition, concurrent install tasks for the same id
+ // are not allowed.
std::set<Task*> tasks_;
// TODO(sorin): try to make the ping manager an observer of the service.

Powered by Google App Engine
This is Rietveld 408576698