mirror of
https://github.com/dashpay/dash.git
synced 2024-12-25 03:52:49 +01:00
Push unlocked_until in getinfo.
This commit is contained in:
parent
ddebdd9a8f
commit
98545d2cdf
27
src/rpc.cpp
27
src/rpc.cpp
@ -36,6 +36,9 @@ void ThreadRPCServer2(void* parg);
|
||||
typedef Value(*rpcfn_type)(const Array& params, bool fHelp);
|
||||
extern map<string, rpcfn_type> mapCallTable;
|
||||
|
||||
static int64 nWalletUnlockTime;
|
||||
static CCriticalSection cs_nWalletUnlockTime;
|
||||
|
||||
|
||||
Object JSONRPCError(int code, const string& message)
|
||||
{
|
||||
@ -311,6 +314,8 @@ Value getinfo(const Array& params, bool fHelp)
|
||||
obj.push_back(Pair("keypoololdest", (boost::int64_t)pwalletMain->GetOldestKeyPoolTime()));
|
||||
obj.push_back(Pair("keypoolsize", pwalletMain->GetKeyPoolSize()));
|
||||
obj.push_back(Pair("paytxfee", ValueFromAmount(nTransactionFee)));
|
||||
if (pwalletMain->IsCrypted())
|
||||
obj.push_back(Pair("unlocked_until", (boost::int64_t)nWalletUnlockTime));
|
||||
obj.push_back(Pair("errors", GetWarnings("statusbar")));
|
||||
return obj;
|
||||
}
|
||||
@ -1360,31 +1365,29 @@ void ThreadTopUpKeyPool(void* parg)
|
||||
|
||||
void ThreadCleanWalletPassphrase(void* parg)
|
||||
{
|
||||
static int64 nWakeTime;
|
||||
int64 nMyWakeTime = GetTime() + *((int*)parg);
|
||||
static CCriticalSection cs_nWakeTime;
|
||||
|
||||
if (nWakeTime == 0)
|
||||
if (nWalletUnlockTime == 0)
|
||||
{
|
||||
CRITICAL_BLOCK(cs_nWakeTime)
|
||||
CRITICAL_BLOCK(cs_nWalletUnlockTime)
|
||||
{
|
||||
nWakeTime = nMyWakeTime;
|
||||
nWalletUnlockTime = nMyWakeTime;
|
||||
}
|
||||
|
||||
while (GetTime() < nWakeTime)
|
||||
Sleep(GetTime() - nWakeTime);
|
||||
while (GetTime() < nWalletUnlockTime)
|
||||
Sleep(GetTime() - nWalletUnlockTime);
|
||||
|
||||
CRITICAL_BLOCK(cs_nWakeTime)
|
||||
CRITICAL_BLOCK(cs_nWalletUnlockTime)
|
||||
{
|
||||
nWakeTime = 0;
|
||||
nWalletUnlockTime = 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
CRITICAL_BLOCK(cs_nWakeTime)
|
||||
CRITICAL_BLOCK(cs_nWalletUnlockTime)
|
||||
{
|
||||
if (nWakeTime < nMyWakeTime)
|
||||
nWakeTime = nMyWakeTime;
|
||||
if (nWalletUnlockTime < nMyWakeTime)
|
||||
nWalletUnlockTime = nMyWakeTime;
|
||||
}
|
||||
free(parg);
|
||||
return;
|
||||
|
Loading…
Reference in New Issue
Block a user