From 203d1ae69b1b606c0216d0dc35de567c591720ae Mon Sep 17 00:00:00 2001 From: Luke Dashjr Date: Fri, 19 Apr 2013 21:28:25 +0000 Subject: [PATCH] Bugfix: Store last/next wallet resend times unique per CWallet object --- src/wallet.cpp | 12 +++++------- src/wallet.h | 3 +++ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/wallet.cpp b/src/wallet.cpp index 488787f96..0b4c866f8 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -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"); diff --git a/src/wallet.h b/src/wallet.h index 36b3608fb..92f893c6b 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -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;