OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "services/service_manager/embedder/main.h" | 5 #include "services/service_manager/embedder/main.h" |
6 | 6 |
7 #include "base/allocator/features.h" | 7 #include "base/allocator/features.h" |
8 #include "base/at_exit.h" | 8 #include "base/at_exit.h" |
9 #include "base/base_switches.h" | 9 #include "base/base_switches.h" |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
182 service_manager::InitializeLogging(); | 182 service_manager::InitializeLogging(); |
183 | 183 |
184 #if !defined(OFFICIAL_BUILD) | 184 #if !defined(OFFICIAL_BUILD) |
185 // Initialize stack dumping before initializing sandbox to make sure symbol | 185 // Initialize stack dumping before initializing sandbox to make sure symbol |
186 // names in all loaded libraries will be cached. | 186 // names in all loaded libraries will be cached. |
187 // NOTE: On Chrome OS, crash reporting for the root process and non-browser | 187 // NOTE: On Chrome OS, crash reporting for the root process and non-browser |
188 // service processes is handled by the OS-level crash_reporter. | 188 // service processes is handled by the OS-level crash_reporter. |
189 base::debug::EnableInProcessStackDumping(); | 189 base::debug::EnableInProcessStackDumping(); |
190 #endif | 190 #endif |
191 | 191 |
192 base::TaskScheduler::CreateAndSetSimpleTaskScheduler("ServiceManagerProcess"); | 192 base::TaskScheduler::CreateAndStartWithDefaultParams("ServiceManagerProcess"); |
193 } | 193 } |
194 | 194 |
195 void WaitForDebuggerIfNecessary() { | 195 void WaitForDebuggerIfNecessary() { |
196 if (!ServiceManagerIsRemote()) | 196 if (!ServiceManagerIsRemote()) |
197 return; | 197 return; |
198 | 198 |
199 const auto& command_line = *base::CommandLine::ForCurrentProcess(); | 199 const auto& command_line = *base::CommandLine::ForCurrentProcess(); |
200 const std::string service_name = | 200 const std::string service_name = |
201 command_line.GetSwitchValueASCII(switches::kServiceName); | 201 command_line.GetSwitchValueASCII(switches::kServiceName); |
202 if (service_name != | 202 if (service_name != |
(...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
465 autorelease_pool.reset(); | 465 autorelease_pool.reset(); |
466 #endif | 466 #endif |
467 | 467 |
468 if (process_type == ProcessType::kEmbedder) | 468 if (process_type == ProcessType::kEmbedder) |
469 delegate->ShutDownEmbedderProcess(); | 469 delegate->ShutDownEmbedderProcess(); |
470 | 470 |
471 return exit_code; | 471 return exit_code; |
472 } | 472 } |
473 | 473 |
474 } // namespace service_manager | 474 } // namespace service_manager |
OLD | NEW |