| Index: content/browser/browser_main_loop.cc
|
| diff --git a/content/browser/browser_main_loop.cc b/content/browser/browser_main_loop.cc
|
| index 8bcc3d33b9d7dbcce684b216cbebca7d7ed1a5ce..c7b1998667996b772b5ebfa6ab941f887355e5c5 100644
|
| --- a/content/browser/browser_main_loop.cc
|
| +++ b/content/browser/browser_main_loop.cc
|
| @@ -598,7 +598,6 @@ void BrowserMainLoop::CreateStartupTasks() {
|
| int BrowserMainLoop::CreateThreads() {
|
| TRACE_EVENT0("startup", "BrowserMainLoop::CreateThreads");
|
|
|
| - base::Thread::Options default_options;
|
| base::Thread::Options io_message_loop_options;
|
| io_message_loop_options.message_loop_type = base::MessageLoop::TYPE_IO;
|
| base::Thread::Options ui_message_loop_options;
|
| @@ -613,7 +612,7 @@ int BrowserMainLoop::CreateThreads() {
|
| thread_id < BrowserThread::ID_COUNT;
|
| ++thread_id) {
|
| scoped_ptr<BrowserProcessSubThread>* thread_to_start = NULL;
|
| - base::Thread::Options* options = &default_options;
|
| + base::Thread::Options options;
|
|
|
| switch (thread_id) {
|
| case BrowserThread::DB:
|
| @@ -621,6 +620,7 @@ int BrowserMainLoop::CreateThreads() {
|
| "BrowserMainLoop::CreateThreads:start",
|
| "Thread", "BrowserThread::DB");
|
| thread_to_start = &db_thread_;
|
| + options.timer_slack = base::TIMER_SLACK_MAXIMUM;
|
| break;
|
| case BrowserThread::FILE_USER_BLOCKING:
|
| TRACE_EVENT_BEGIN1("startup",
|
| @@ -637,30 +637,33 @@ int BrowserMainLoop::CreateThreads() {
|
| // On Windows, the FILE thread needs to be have a UI message loop
|
| // which pumps messages in such a way that Google Update can
|
| // communicate back to us.
|
| - options = &ui_message_loop_options;
|
| + options = ui_message_loop_options;
|
| #else
|
| - options = &io_message_loop_options;
|
| + options = io_message_loop_options;
|
| #endif
|
| + options.timer_slack = base::TIMER_SLACK_MAXIMUM;
|
| break;
|
| case BrowserThread::PROCESS_LAUNCHER:
|
| TRACE_EVENT_BEGIN1("startup",
|
| "BrowserMainLoop::CreateThreads:start",
|
| "Thread", "BrowserThread::PROCESS_LAUNCHER");
|
| thread_to_start = &process_launcher_thread_;
|
| + options.timer_slack = base::TIMER_SLACK_MAXIMUM;
|
| break;
|
| case BrowserThread::CACHE:
|
| TRACE_EVENT_BEGIN1("startup",
|
| "BrowserMainLoop::CreateThreads:start",
|
| "Thread", "BrowserThread::CACHE");
|
| thread_to_start = &cache_thread_;
|
| - options = &io_message_loop_options;
|
| + options = io_message_loop_options;
|
| + options.timer_slack = base::TIMER_SLACK_MAXIMUM;
|
| break;
|
| case BrowserThread::IO:
|
| TRACE_EVENT_BEGIN1("startup",
|
| "BrowserMainLoop::CreateThreads:start",
|
| "Thread", "BrowserThread::IO");
|
| thread_to_start = &io_thread_;
|
| - options = &io_message_loop_options;
|
| + options = io_message_loop_options;
|
| break;
|
| case BrowserThread::UI:
|
| case BrowserThread::ID_COUNT:
|
| @@ -673,7 +676,7 @@ int BrowserMainLoop::CreateThreads() {
|
|
|
| if (thread_to_start) {
|
| (*thread_to_start).reset(new BrowserProcessSubThread(id));
|
| - (*thread_to_start)->StartWithOptions(*options);
|
| + (*thread_to_start)->StartWithOptions(options);
|
| } else {
|
| NOTREACHED();
|
| }
|
|
|