mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-26 14:05:51 +00:00
Get the shared pointers out of the scoped lock stuff. We don't need it.
This commit is contained in:
@@ -35,7 +35,7 @@ public:
|
|||||||
DatabaseCon(const std::string& name, const char *initString[], int countInit);
|
DatabaseCon(const std::string& name, const char *initString[], int countInit);
|
||||||
~DatabaseCon();
|
~DatabaseCon();
|
||||||
Database* getDB() { return mDatabase; }
|
Database* getDB() { return mDatabase; }
|
||||||
ScopedLock getDBLock() { return ScopedLock(mLock); }
|
boost::recursive_mutex& getDBLock() { return mLock; }
|
||||||
};
|
};
|
||||||
|
|
||||||
class Application
|
class Application
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ bool HashedObjectStore::store(HashedObjectType type, uint32 index,
|
|||||||
|
|
||||||
void HashedObjectStore::waitWrite()
|
void HashedObjectStore::waitWrite()
|
||||||
{
|
{
|
||||||
boost::unique_lock<boost::mutex> sl(mWriteMutex);
|
boost::mutex::scoped_lock sl(mWriteMutex);
|
||||||
while (mWritePending)
|
while (mWritePending)
|
||||||
mWriteCondition.wait(sl);
|
mWriteCondition.wait(sl);
|
||||||
}
|
}
|
||||||
@@ -67,7 +67,7 @@ void HashedObjectStore::bulkWrite()
|
|||||||
set.reserve(128);
|
set.reserve(128);
|
||||||
|
|
||||||
{
|
{
|
||||||
boost::unique_lock<boost::mutex> sl(mWriteMutex);
|
boost::mutex::scoped_lock sl(mWriteMutex);
|
||||||
mWriteSet.swap(set);
|
mWriteSet.swap(set);
|
||||||
assert(mWriteSet.empty());
|
assert(mWriteSet.empty());
|
||||||
if (set.empty())
|
if (set.empty())
|
||||||
@@ -85,7 +85,7 @@ void HashedObjectStore::bulkWrite()
|
|||||||
|
|
||||||
Database* db = theApp->getHashNodeDB()->getDB();
|
Database* db = theApp->getHashNodeDB()->getDB();
|
||||||
{
|
{
|
||||||
ScopedLock sl = theApp->getHashNodeDB()->getDBLock();
|
ScopedLock sl( theApp->getHashNodeDB()->getDBLock());
|
||||||
|
|
||||||
db->executeSQL("BEGIN TRANSACTION;");
|
db->executeSQL("BEGIN TRANSACTION;");
|
||||||
|
|
||||||
|
|||||||
@@ -369,7 +369,7 @@ void Ledger::saveAcceptedLedger(bool fromConsensus)
|
|||||||
|
|
||||||
SHAMap& txSet = *peekTransactionMap();
|
SHAMap& txSet = *peekTransactionMap();
|
||||||
Database *db = theApp->getTxnDB()->getDB();
|
Database *db = theApp->getTxnDB()->getDB();
|
||||||
ScopedLock dbLock = theApp->getTxnDB()->getDBLock();
|
ScopedLock dbLock(theApp->getTxnDB()->getDBLock());
|
||||||
db->executeSQL("BEGIN TRANSACTION;");
|
db->executeSQL("BEGIN TRANSACTION;");
|
||||||
SHAMapTreeNode::TNType type;
|
SHAMapTreeNode::TNType type;
|
||||||
for (SHAMapItem::pointer item = txSet.peekFirstItem(type); !!item;
|
for (SHAMapItem::pointer item = txSet.peekFirstItem(type); !!item;
|
||||||
|
|||||||
@@ -1251,7 +1251,7 @@ void LedgerConsensus::accept(SHAMap::ref set, LoadEvent::pointer)
|
|||||||
cLog(lsINFO) << "CNF newLCL " << newLCLHash;
|
cLog(lsINFO) << "CNF newLCL " << newLCLHash;
|
||||||
|
|
||||||
Ledger::pointer newOL = boost::make_shared<Ledger>(true, boost::ref(*newLCL));
|
Ledger::pointer newOL = boost::make_shared<Ledger>(true, boost::ref(*newLCL));
|
||||||
ScopedLock sl = theApp->getLedgerMaster().getLock();
|
ScopedLock sl( theApp->getLedgerMaster().getLock());
|
||||||
|
|
||||||
// Apply disputed transactions that didn't get in
|
// Apply disputed transactions that didn't get in
|
||||||
TransactionEngine engine(newOL);
|
TransactionEngine engine(newOL);
|
||||||
|
|||||||
@@ -888,7 +888,7 @@ std::vector< std::pair<uint32, uint256> >
|
|||||||
|
|
||||||
{
|
{
|
||||||
Database* db = theApp->getTxnDB()->getDB();
|
Database* db = theApp->getTxnDB()->getDB();
|
||||||
ScopedLock dbLock = theApp->getTxnDB()->getDBLock();
|
ScopedLock sl(theApp->getTxnDB()->getDBLock());
|
||||||
|
|
||||||
SQL_FOREACH(db, sql)
|
SQL_FOREACH(db, sql)
|
||||||
{
|
{
|
||||||
@@ -909,7 +909,7 @@ std::vector<RippleAddress>
|
|||||||
RippleAddress acct;
|
RippleAddress acct;
|
||||||
{
|
{
|
||||||
Database* db = theApp->getTxnDB()->getDB();
|
Database* db = theApp->getTxnDB()->getDB();
|
||||||
ScopedLock dblock = theApp->getTxnDB()->getDBLock();
|
ScopedLock sl(theApp->getTxnDB()->getDBLock());
|
||||||
SQL_FOREACH(db, sql)
|
SQL_FOREACH(db, sql)
|
||||||
{
|
{
|
||||||
if (acct.setAccountID(db->getStrBinary("Account")))
|
if (acct.setAccountID(db->getStrBinary("Account")))
|
||||||
|
|||||||
@@ -1158,7 +1158,7 @@ Json::Value RPCHandler::doTxHistory(const Json::Value& params)
|
|||||||
|
|
||||||
{
|
{
|
||||||
Database* db = theApp->getTxnDB()->getDB();
|
Database* db = theApp->getTxnDB()->getDB();
|
||||||
ScopedLock dbLock = theApp->getTxnDB()->getDBLock();
|
ScopedLock sl (theApp->getTxnDB()->getDBLock());
|
||||||
|
|
||||||
SQL_FOREACH(db, sql)
|
SQL_FOREACH(db, sql)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -6,16 +6,18 @@
|
|||||||
#include <boost/make_shared.hpp>
|
#include <boost/make_shared.hpp>
|
||||||
#include <boost/ref.hpp>
|
#include <boost/ref.hpp>
|
||||||
|
|
||||||
|
typedef boost::recursive_mutex::scoped_lock ScopedLock;
|
||||||
|
|
||||||
// A lock holder that can be returned and copied by value
|
// A lock holder that can be returned and copied by value
|
||||||
// When the last reference goes away, the lock is released
|
// When the last reference goes away, the lock is released
|
||||||
|
|
||||||
class ScopedLock
|
class SharedScopedLock
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
mutable boost::shared_ptr<boost::recursive_mutex::scoped_lock> mHolder;
|
mutable boost::shared_ptr<boost::recursive_mutex::scoped_lock> mHolder;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
ScopedLock(boost::recursive_mutex& mutex) :
|
SharedScopedLock(boost::recursive_mutex& mutex) :
|
||||||
mHolder(boost::make_shared<boost::recursive_mutex::scoped_lock>(boost::ref(mutex))) { ; }
|
mHolder(boost::make_shared<boost::recursive_mutex::scoped_lock>(boost::ref(mutex))) { ; }
|
||||||
|
|
||||||
void lock() const { mHolder->lock(); }
|
void lock() const { mHolder->lock(); }
|
||||||
|
|||||||
@@ -150,7 +150,7 @@ bool Transaction::save()
|
|||||||
% mTransaction->getTransactionID().GetHex());
|
% mTransaction->getTransactionID().GetHex());
|
||||||
|
|
||||||
Database *db = theApp->getTxnDB()->getDB();
|
Database *db = theApp->getTxnDB()->getDB();
|
||||||
ScopedLock dbLock = theApp->getTxnDB()->getDBLock();
|
ScopedLock dbLock(theApp->getTxnDB()->getDBLock());
|
||||||
if (SQL_EXISTS(db, exists)) return false;
|
if (SQL_EXISTS(db, exists)) return false;
|
||||||
return
|
return
|
||||||
db->executeSQL(mTransaction->getSQLInsertHeader() + mTransaction->getSQL(getLedger(), status) + ";");
|
db->executeSQL(mTransaction->getSQLInsertHeader() + mTransaction->getSQL(getLedger(), status) + ";");
|
||||||
|
|||||||
Reference in New Issue
Block a user