Comment #3 on issue 25354 by [email protected]: Need a fool-proof way of executing tasks on other threads without worrying about thread destruction order http://code.google.com/p/chromium/issues/detail?id=25354
The following revision refers to this bug:
http://src.chromium.org/viewvc/chrome?view=rev&revision=30163
------------------------------------------------------------------------
r30163 | [email protected] | 2009-10-26 20:59:31 -0700 (Mon, 26 Oct 2009) |
2 lines
Changed paths:
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/autocomplete/search_provider_unittest.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/browser_main.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/browser_process_impl.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/browsing_data_remover.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/chrome_plugin_browsing_context.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/chrome_plugin_host.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/chrome_thread.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/chrome_thread.h?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/chrome_thread_unittest.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/chromeos/cros_network_library.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/chromeos/cros_power_library.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/dom_ui/chrome_url_data_manager.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/download/download_file.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/download/download_manager.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/download/download_manager.h?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/autoupdate_interceptor.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/extension_disabled_infobar_delegate.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/extension_message_service.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/extension_updater_unittest.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/extensions_ui.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/file_reader.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/pack_extension_job.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/pack_extension_job.h?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/sandboxed_extension_unpacker.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/user_script_listener_unittest.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/in_process_webkit/dom_storage_dispatcher_host.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/in_process_webkit/dom_storage_dispatcher_host.h?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/in_process_webkit/webkit_context.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/in_process_webkit/webkit_thread.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/in_process_webkit/webkit_thread.h?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/memory_details.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/memory_details_linux.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/memory_details_win.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/net/chrome_url_request_context.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/net/sqlite_persistent_cookie_store.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/net/sqlite_persistent_cookie_store.h?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/net/test_url_fetcher_factory.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/net/url_fetcher.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/net/url_fetcher.h?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/net/url_fetcher_unittest.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/notifications/notification_object_proxy.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/plugin_process_host.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/plugin_process_host_mac.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/plugin_service.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/power_save_blocker_common.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/printing/print_job_worker.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/process_singleton_linux.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/profile_manager.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/buffered_resource_handler.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/file_system_accessor.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/file_system_accessor_unittest.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/resource_dispatcher_host.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/resource_dispatcher_host_unittest.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/resource_message_filter.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/resource_message_filter.h?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/resource_message_filter_gtk.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/spellchecker.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/http_bridge.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/http_bridge.h?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/sync/glue/http_bridge_unittest.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/user_data_manager.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/web_resource/web_resource_service.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/child_process_host.cc?r1=30163&r2=30162
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/chrome_plugin_unittest.cc?r1=30163&r2=30162
Simplify threading in browser thread by making only ChromeThread deal with
different thread lifetimes.The rest of the code doesn't get MessageLoop
pointers since they're not thread-safe and instead just call PostTask on
ChromeThread. If the target thread is not alive, then the task is simply
deleted.In a followup change, I'll remove any remaining MessageLoop*
caching. With this change, there's little to be gained by caching since no
locks are involved if the target MessageLoop is guaranteed to outlive the
current thread (inferred automatically by the order of the chrome_threads_
array).BUG=25354
Review URL: http://codereview.chromium.org/306032
------------------------------------------------------------------------
--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings
--~--~---------~--~----~------------~-------~--~----~
Automated mail from issue updates at http://crbug.com/
Subscription options: http://groups.google.com/group/chromium-bugs
-~----------~----~----~----~------~----~------~--~---
