Bugfix: Store last/next wallet resend times unique per CWallet object
This commit is contained in:
parent
c2aca50551
commit
203d1ae69b
2 changed files with 8 additions and 7 deletions
|
@ -892,19 +892,17 @@ void CWallet::ResendWalletTransactions()
|
|||
{
|
||||
// Do this infrequently and randomly to avoid giving away
|
||||
// that these are our transactions.
|
||||
static int64 nNextTime;
|
||||
if (GetTime() < nNextTime)
|
||||
if (GetTime() < nNextResend)
|
||||
return;
|
||||
bool fFirst = (nNextTime == 0);
|
||||
nNextTime = GetTime() + GetRand(30 * 60);
|
||||
bool fFirst = (nNextResend == 0);
|
||||
nNextResend = GetTime() + GetRand(30 * 60);
|
||||
if (fFirst)
|
||||
return;
|
||||
|
||||
// Only do it if there's been a new block since last time
|
||||
static int64 nLastTime;
|
||||
if (nTimeBestReceived < nLastTime)
|
||||
if (nTimeBestReceived < nLastResend)
|
||||
return;
|
||||
nLastTime = GetTime();
|
||||
nLastResend = GetTime();
|
||||
|
||||
// Rebroadcast any of our txes that aren't in a block yet
|
||||
printf("ResendWalletTransactions()\n");
|
||||
|
|
|
@ -80,6 +80,9 @@ private:
|
|||
// the maximum wallet format version: memory-only variable that specifies to what version this wallet may be upgraded
|
||||
int nWalletMaxVersion;
|
||||
|
||||
int64 nNextResend;
|
||||
int64 nLastResend;
|
||||
|
||||
public:
|
||||
mutable CCriticalSection cs_wallet;
|
||||
|
||||
|
|
Loading…
Reference in a new issue