From a0590d29cd9949c65a4cd67630a84410a30d33fe Mon Sep 17 00:00:00 2001 From: Thomas Winget Date: Fri, 27 Mar 2015 08:01:30 -0400 Subject: Restore daemon interactive mode Daemon interactive mode is now working again. RPC mapped calls in daemon and wallet have both had connection_context removed as an argument as that argument was not being used anywhere. --- src/daemon/daemon.cpp | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'src/daemon/daemon.cpp') diff --git a/src/daemon/daemon.cpp b/src/daemon/daemon.cpp index 728b239a0..ec12c281c 100644 --- a/src/daemon/daemon.cpp +++ b/src/daemon/daemon.cpp @@ -35,6 +35,7 @@ #include "daemon/p2p.h" #include "daemon/protocol.h" #include "daemon/rpc.h" +#include "daemon/command_server.h" #include "misc_log_ex.h" #include "version.h" #include @@ -101,7 +102,7 @@ t_daemon & t_daemon::operator=(t_daemon && other) return *this; } -bool t_daemon::run() +bool t_daemon::run(bool interactive) { if (nullptr == mp_internals) { @@ -113,7 +114,22 @@ bool t_daemon::run() { mp_internals->core.run(); mp_internals->rpc.run(); - mp_internals->p2p.run(); + + daemonize::t_command_server* rpc_commands; + + if (interactive) + { + rpc_commands = new daemonize::t_command_server(0, 0, false, mp_internals->rpc.get_server()); + rpc_commands->start_handling(); + } + + mp_internals->p2p.run(); // blocks until p2p goes down + + if (interactive) + { + rpc_commands->stop_handling(); + } + mp_internals->rpc.stop(); LOG_PRINT("Node stopped.", LOG_LEVEL_0); return true; -- cgit v1.2.3