aboutsummaryrefslogtreecommitdiff
path: root/src/bitcoinrpc.cpp
diff options
context:
space:
mode:
authorWladimir J. van der Laan <laanwj@gmail.com>2012-09-23 05:49:42 -0700
committerWladimir J. van der Laan <laanwj@gmail.com>2012-09-23 05:49:42 -0700
commitfeec18e329300a6411498b0c01781e16cb742d6f (patch)
tree94a8d6560051d0cf8ab611a287e719620bb80fff /src/bitcoinrpc.cpp
parent49b09ec04f69e313619f69169379de267b740868 (diff)
parent3731f5788e87c601718f27ad6b8d149bde59b952 (diff)
Merge pull request #1836 from kjj2/stopdetach
Adds a stopdetach <detach> RPC command. <detach> defaults to true. Wor...
Diffstat (limited to 'src/bitcoinrpc.cpp')
-rw-r--r--src/bitcoinrpc.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp
index c3c2db38a2..03d142f858 100644
--- a/src/bitcoinrpc.cpp
+++ b/src/bitcoinrpc.cpp
@@ -9,6 +9,7 @@
#include "ui_interface.h"
#include "base58.h"
#include "bitcoinrpc.h"
+#include "db.h"
#undef printf
#include <boost/asio.hpp>
@@ -173,11 +174,14 @@ Value help(const Array& params, bool fHelp)
Value stop(const Array& params, bool fHelp)
{
- if (fHelp || params.size() != 0)
+ if (fHelp || params.size() > 1)
throw runtime_error(
- "stop\n"
- "Stop Bitcoin server.");
+ "stop <detach>\n"
+ "<detach> is true or false to detach the database or not for this stop only\n"
+ "Stop Bitcoin server (and possibly override the detachdb config value).");
// Shutdown will take long enough that the response should get back
+ if (params.size() > 0)
+ bitdb.SetDetach(params[0].get_bool());
StartShutdown();
return "Bitcoin server stopping";
}
@@ -1126,6 +1130,7 @@ Array RPCConvertValues(const std::string &strMethod, const std::vector<std::stri
//
// Special case non-string parameter types
//
+ if (strMethod == "stop" && n > 0) ConvertTo<bool>(params[0]);
if (strMethod == "setgenerate" && n > 0) ConvertTo<bool>(params[0]);
if (strMethod == "setgenerate" && n > 1) ConvertTo<boost::int64_t>(params[1]);
if (strMethod == "sendtoaddress" && n > 1) ConvertTo<double>(params[1]);