aboutsummaryrefslogtreecommitdiff
path: root/db.h
diff options
context:
space:
mode:
authors_nakamoto <s_nakamoto@1a98c847-1fd6-4fd8-948a-caf3550aa51b>2009-11-18 19:19:41 +0000
committers_nakamoto <s_nakamoto@1a98c847-1fd6-4fd8-948a-caf3550aa51b>2009-11-18 19:19:41 +0000
commitc5c7911dab8732861affbe66849a100da62f7464 (patch)
treebfbb16bc8fbcb4911a24a5e32f9f4c3c280f392c /db.h
parentb349e3dca89dfff5fe70669f9fd3f3a1ec60a498 (diff)
downloadbitcoin-c5c7911dab8732861affbe66849a100da62f7464.tar.xz
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.h17
1 files changed, 11 insertions, 6 deletions
diff --git a/db.h b/db.h
index d11b397eba..d32d2d5d2f 100644
--- a/db.h
+++ b/db.h
@@ -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&);