Skip to content

Commit

Permalink
1.6.4.4
Browse files Browse the repository at this point in the history
  • Loading branch information
nlg-buildbot committed Oct 10, 2017
1 parent 5d0f2a0 commit d0a4361
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 6 deletions.
5 changes: 5 additions & 0 deletions changelog.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
1.6.4.4

RPC - Fix an issue with the 'unlock' callback of 'walletpassphrase' whereby it could temporarily freeze the main RPC thread. In most cases this would result in slow RPC but in extreme cases it could be so slow that the slowness would then cascade into other parts of the program (e.g. peers timing out) presenting as a frozen RPC that no longer
responds.

1.6.4.3

Maintenance release in preparation for 2.0 release.
Expand Down
2 changes: 1 addition & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ AC_PREREQ([2.60])
define(_CLIENT_VERSION_MAJOR, 1)
define(_CLIENT_VERSION_MINOR, 6)
define(_CLIENT_VERSION_REVISION, 4)
define(_CLIENT_VERSION_BUILD, 3)
define(_CLIENT_VERSION_BUILD, 4)
define(_CLIENT_VERSION_IS_RELEASE, false)
define(_COPYRIGHT_YEAR, 2016)
define(_COPYRIGHT_HOLDERS,[The %s developers])
Expand Down
2 changes: 1 addition & 1 deletion src/clientversion.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
#define CLIENT_VERSION_MAJOR 1
#define CLIENT_VERSION_MINOR 6
#define CLIENT_VERSION_REVISION 4
#define CLIENT_VERSION_BUILD 3
#define CLIENT_VERSION_BUILD 4

//! Set to true for release, false for prerelease or test build
#define CLIENT_VERSION_IS_RELEASE false
Expand Down
13 changes: 10 additions & 3 deletions src/wallet/rpcwallet.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@
#include <Gulden/auto_checkpoints.h>
#include <Gulden/translate.h>

#include <thread>

using namespace std;

int64_t nWalletUnlockTime;
Expand Down Expand Up @@ -1966,9 +1968,14 @@ UniValue keypoolrefill(const UniValue& params, bool fHelp)

static void LockWallet(CWallet* pWallet)
{
LOCK(cs_nWalletUnlockTime);
nWalletUnlockTime = 0;
pWallet->Lock();

std::thread(
[=] {
DS_LOCK2(cs_main, pWallet->cs_wallet);
LOCK(cs_nWalletUnlockTime);
nWalletUnlockTime = 0;
pWallet->Lock();
}).detach();
}

UniValue walletpassphrase(const UniValue& params, bool fHelp)
Expand Down
2 changes: 1 addition & 1 deletion src/wallet/walletdb.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -773,7 +773,7 @@ DBErrors CWalletDB::LoadWallet(CWallet* pwallet, WalletLoadState& nExtraLoadStat
} else {
pwallet->activeAccount = pwallet->mapAccounts[primaryAccountString];
}
} else if (isPreHDWallet) {
} else if (isPreHDWallet && !haveAnyAccounts) {
nExtraLoadState = EXISTING_WALLET_OLDACCOUNTSYSTEM;

if (pwallet->activeAccount == NULL && pwallet->activeSeed == NULL) {
Expand Down

0 comments on commit d0a4361

Please sign in to comment.