Skip to content

Commit

Permalink
Bugfix: Store last/next wallet resend times unique per CWallet object
Browse files Browse the repository at this point in the history
  • Loading branch information
luke-jr committed Jul 17, 2013
1 parent c2aca50 commit 203d1ae
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 7 deletions.
12 changes: 5 additions & 7 deletions src/wallet.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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");
Expand Down
3 changes: 3 additions & 0 deletions src/wallet.h
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,9 @@ class CWallet : public CCryptoKeyStore
// 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;

Expand Down

0 comments on commit 203d1ae

Please sign in to comment.