aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNoah Watkins <noahwatkins@gmail.com>2017-02-21 16:44:22 -0800
committerNoah Watkins <noahwatkins@gmail.com>2017-02-21 16:44:22 -0800
commit44a5b03841e34154e824fcc7773c458326a3487f (patch)
tree81972023edaccef77cd322a1e2e33caef677da02 /src
parentMerge pull request #1761 (diff)
downloadmonero-44a5b03841e34154e824fcc7773c458326a3487f.tar.xz
create a foreground non-interactive mode
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
Diffstat (limited to 'src')
-rw-r--r--src/daemon/executor.cpp7
-rw-r--r--src/daemon/executor.h4
-rw-r--r--src/daemonizer/posix_daemonizer.inl9
3 files changed, 20 insertions, 0 deletions
diff --git a/src/daemon/executor.cpp b/src/daemon/executor.cpp
index ac5803cfb..20217f2f4 100644
--- a/src/daemon/executor.cpp
+++ b/src/daemon/executor.cpp
@@ -63,6 +63,13 @@ namespace daemonize
return t_daemon{vm};
}
+ bool t_executor::run_non_interactive(
+ boost::program_options::variables_map const & vm
+ )
+ {
+ return t_daemon{vm}.run(false);
+ }
+
bool t_executor::run_interactive(
boost::program_options::variables_map const & vm
)
diff --git a/src/daemon/executor.h b/src/daemon/executor.h
index a6b47b93d..ef71a8032 100644
--- a/src/daemon/executor.h
+++ b/src/daemon/executor.h
@@ -56,6 +56,10 @@ namespace daemonize
boost::program_options::variables_map const & vm
);
+ bool run_non_interactive(
+ boost::program_options::variables_map const & vm
+ );
+
bool run_interactive(
boost::program_options::variables_map const & vm
);
diff --git a/src/daemonizer/posix_daemonizer.inl b/src/daemonizer/posix_daemonizer.inl
index 926f0a3ac..aa1efb467 100644
--- a/src/daemonizer/posix_daemonizer.inl
+++ b/src/daemonizer/posix_daemonizer.inl
@@ -43,6 +43,10 @@ namespace daemonizer
"detach"
, "Run as daemon"
};
+ const command_line::arg_descriptor<bool> arg_non_interactive = {
+ "non-interactive"
+ , "Run non-interactive"
+ };
}
inline void init_options(
@@ -51,6 +55,7 @@ namespace daemonizer
)
{
command_line::add_arg(normal_options, arg_detach);
+ command_line::add_arg(normal_options, arg_non_interactive);
}
inline boost::filesystem::path get_default_data_dir()
@@ -79,6 +84,10 @@ namespace daemonizer
auto daemon = executor.create_daemon(vm);
return daemon.run();
}
+ else if (command_line::has_arg(vm, arg_non_interactive))
+ {
+ return executor.run_non_interactive(vm);
+ }
else
{
//LOG_PRINT_L0("Monero '" << MONERO_RELEASE_NAME << "' (v" << MONERO_VERSION_FULL);