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
-~----------~----~----~----~------~----~------~--~---

Reply via email to