blob: 27f4da9eb9d84deda96af754cff102b0afad9a18 [file] [log] [blame]
Ryan Cairnsfa095192011-04-01 14:06:31 -07001// 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 Chan68de38d2017-10-13 12:30:59 -07005#include <brillo/flag_helper.h>
Alex Vakulenkoe7696532015-10-16 16:27:29 -07006#include <brillo/syslog_logging.h>
Ryan Cairnsfa095192011-04-01 14:06:31 -07007
Ben Chana4c75062011-11-11 09:47:55 -08008#include "cros-disks/daemon.h"
Ryan Cairnsea6505f2011-04-10 19:54:53 -07009
Ryan Cairnsfa095192011-04-01 14:06:31 -070010int main(int argc, char** argv) {
Ben Chan68de38d2017-10-13 12:30:59 -070011 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 Chan97634d22013-04-15 15:40:52 -070018
Ben Chanb8f17732017-10-13 12:03:08 -070019 brillo::InitLog(brillo::kLogToSyslog | brillo::kLogToStderrIfTty);
Ben Chan68de38d2017-10-13 12:30:59 -070020 logging::SetMinLogLevel(FLAGS_log_level);
Ben Chan97634d22013-04-15 15:40:52 -070021
Ben Chan68de38d2017-10-13 12:30:59 -070022 if (!FLAGS_foreground)
Ben Chan97634d22013-04-15 15:40:52 -070023 PLOG_IF(FATAL, ::daemon(0, 0) == 1) << "Failed to create daemon";
24
Ben Chan68de38d2017-10-13 12:30:59 -070025 bool has_session_manager = !FLAGS_no_session_manager;
Ben Chan445852f2017-10-02 23:00:16 -070026 cros_disks::Daemon daemon(has_session_manager);
27 return daemon.Run();
Ryan Cairnsfa095192011-04-01 14:06:31 -070028}