Ryan Cairns | fa09519 | 2011-04-01 14:06:31 -0700 | [diff] [blame] | 1 | // Copyright (c) 2011 The Chromium OS Authors. All rights reserved. |
| 2 | // Use of this source code is governed by a BSD-style license that can be |
| 3 | // found in the LICENSE file. |
| 4 | |
Ben Chan | 68de38d | 2017-10-13 12:30:59 -0700 | [diff] [blame] | 5 | #include <brillo/flag_helper.h> |
Alex Vakulenko | e769653 | 2015-10-16 16:27:29 -0700 | [diff] [blame] | 6 | #include <brillo/syslog_logging.h> |
Ryan Cairns | fa09519 | 2011-04-01 14:06:31 -0700 | [diff] [blame] | 7 | |
Ben Chan | a4c7506 | 2011-11-11 09:47:55 -0800 | [diff] [blame] | 8 | #include "cros-disks/daemon.h" |
Ryan Cairns | ea6505f | 2011-04-10 19:54:53 -0700 | [diff] [blame] | 9 | |
Ryan Cairns | fa09519 | 2011-04-01 14:06:31 -0700 | [diff] [blame] | 10 | int main(int argc, char** argv) { |
Ben Chan | 68de38d | 2017-10-13 12:30:59 -0700 | [diff] [blame] | 11 | DEFINE_bool(foreground, false, "Run in foreground"); |
| 12 | DEFINE_bool(no_session_manager, false, |
| 13 | "run without the expectation of a session manager."); |
| 14 | DEFINE_int32(log_level, 0, |
| 15 | "Logging level - 0: LOG(INFO), 1: LOG(WARNING), 2: LOG(ERROR), " |
| 16 | "-1: VLOG(1), -2: VLOG(2), ..."); |
| 17 | brillo::FlagHelper::Init(argc, argv, "Chromium OS Disk Daemon"); |
Ben Chan | 97634d2 | 2013-04-15 15:40:52 -0700 | [diff] [blame] | 18 | |
Ben Chan | b8f1773 | 2017-10-13 12:03:08 -0700 | [diff] [blame] | 19 | brillo::InitLog(brillo::kLogToSyslog | brillo::kLogToStderrIfTty); |
Ben Chan | 68de38d | 2017-10-13 12:30:59 -0700 | [diff] [blame] | 20 | logging::SetMinLogLevel(FLAGS_log_level); |
Ben Chan | 97634d2 | 2013-04-15 15:40:52 -0700 | [diff] [blame] | 21 | |
Ben Chan | 68de38d | 2017-10-13 12:30:59 -0700 | [diff] [blame] | 22 | if (!FLAGS_foreground) |
Ben Chan | 97634d2 | 2013-04-15 15:40:52 -0700 | [diff] [blame] | 23 | PLOG_IF(FATAL, ::daemon(0, 0) == 1) << "Failed to create daemon"; |
| 24 | |
Ben Chan | 68de38d | 2017-10-13 12:30:59 -0700 | [diff] [blame] | 25 | bool has_session_manager = !FLAGS_no_session_manager; |
Ben Chan | 445852f | 2017-10-02 23:00:16 -0700 | [diff] [blame] | 26 | cros_disks::Daemon daemon(has_session_manager); |
| 27 | return daemon.Run(); |
Ryan Cairns | fa09519 | 2011-04-01 14:06:31 -0700 | [diff] [blame] | 28 | } |