diff options
author | s_nakamoto <s_nakamoto@1a98c847-1fd6-4fd8-948a-caf3550aa51b> | 2009-11-18 19:19:41 +0000 |
---|---|---|
committer | s_nakamoto <s_nakamoto@1a98c847-1fd6-4fd8-948a-caf3550aa51b> | 2009-11-18 19:19:41 +0000 |
commit | c5c7911dab8732861affbe66849a100da62f7464 (patch) | |
tree | bfbb16bc8fbcb4911a24a5e32f9f4c3c280f392c /db.h | |
parent | b349e3dca89dfff5fe70669f9fd3f3a1ec60a498 (diff) |
bugfix Db::open/close and zombie sockets bugs fix double-close of socket handle,
keep databases open,
close db cursors,
initial block download in batches of 500 blocks,
fix misc warnings,
subver linux-test8
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@40 1a98c847-1fd6-4fd8-948a-caf3550aa51b
Diffstat (limited to 'db.h')
-rw-r--r-- | db.h | 17 |
1 files changed, 11 insertions, 6 deletions
@@ -32,8 +32,9 @@ protected: Db* pdb;
string strFile;
vector<DbTxn*> vTxn;
+ bool fReadOnly;
- explicit CDB(const char* pszFile, const char* pszMode="r+", bool fTxn=false);
+ explicit CDB(const char* pszFile, const char* pszMode="r+");
~CDB() { Close(); }
public:
void Close();
@@ -77,6 +78,8 @@ protected: {
if (!pdb)
return false;
+ if (fReadOnly)
+ assert(("Write called on database in read-only mode", false));
// Key
CDataStream ssKey(SER_DISK);
@@ -104,6 +107,8 @@ protected: {
if (!pdb)
return false;
+ if (fReadOnly)
+ assert(("Erase called on database in read-only mode", false));
// Key
CDataStream ssKey(SER_DISK);
@@ -254,7 +259,7 @@ public: class CTxDB : public CDB
{
public:
- CTxDB(const char* pszMode="r+", bool fTxn=false) : CDB(!fClient ? "blkindex.dat" : NULL, pszMode, fTxn) { }
+ CTxDB(const char* pszMode="r+") : CDB(!fClient ? "blkindex.dat" : NULL, pszMode) { }
private:
CTxDB(const CTxDB&);
void operator=(const CTxDB&);
@@ -283,7 +288,7 @@ public: class CReviewDB : public CDB
{
public:
- CReviewDB(const char* pszMode="r+", bool fTxn=false) : CDB("reviews.dat", pszMode, fTxn) { }
+ CReviewDB(const char* pszMode="r+") : CDB("reviews.dat", pszMode) { }
private:
CReviewDB(const CReviewDB&);
void operator=(const CReviewDB&);
@@ -309,7 +314,7 @@ public: class CMarketDB : public CDB
{
public:
- CMarketDB(const char* pszMode="r+", bool fTxn=false) : CDB("market.dat", pszMode, fTxn) { }
+ CMarketDB(const char* pszMode="r+") : CDB("market.dat", pszMode) { }
private:
CMarketDB(const CMarketDB&);
void operator=(const CMarketDB&);
@@ -322,7 +327,7 @@ private: class CAddrDB : public CDB
{
public:
- CAddrDB(const char* pszMode="r+", bool fTxn=false) : CDB("addr.dat", pszMode, fTxn) { }
+ CAddrDB(const char* pszMode="r+") : CDB("addr.dat", pszMode) { }
private:
CAddrDB(const CAddrDB&);
void operator=(const CAddrDB&);
@@ -341,7 +346,7 @@ bool LoadAddresses(); class CWalletDB : public CDB
{
public:
- CWalletDB(const char* pszMode="r+", bool fTxn=false) : CDB("wallet.dat", pszMode, fTxn) { }
+ CWalletDB(const char* pszMode="r+") : CDB("wallet.dat", pszMode) { }
private:
CWalletDB(const CWalletDB&);
void operator=(const CWalletDB&);
|