diff --git a/src/cpp/ripple/LedgerMaster.cpp b/src/cpp/ripple/LedgerMaster.cpp index a9471493a7..20a3d93c06 100644 --- a/src/cpp/ripple/LedgerMaster.cpp +++ b/src/cpp/ripple/LedgerMaster.cpp @@ -122,10 +122,16 @@ Ledger::pointer LedgerMaster::closeLedger(bool recover) TER LedgerMaster::doTransaction(SerializedTransaction::ref txn, TransactionEngineParams params, bool& didApply) { - boost::recursive_mutex::scoped_lock sl(mLock); - TER result = mEngine.applyTransaction(*txn, params, didApply); + Ledger::pointer ledger; + TER result; + + { + boost::recursive_mutex::scoped_lock sl(mLock); + result = mEngine.applyTransaction(*txn, params, didApply); + ledger = mEngine.getLedger(); + } // if (didApply) - theApp->getOPs().pubProposedTransaction(mEngine.getLedger(), txn, result); + theApp->getOPs().pubProposedTransaction(ledger, txn, result); return result; } diff --git a/src/cpp/ripple/PlatRand.cpp b/src/cpp/ripple/PlatRand.cpp index 6db6203116..e367cbf841 100644 --- a/src/cpp/ripple/PlatRand.cpp +++ b/src/cpp/ripple/PlatRand.cpp @@ -8,12 +8,9 @@ bool AddSystemEntropy() { // Get entropy from the Windows crypto provider - RAND_screen(); // this isn't really that safe since it only works for end users not servers - -/* TODO: you need the cryptoAPI installed I think for the below to work. I suppose we should require people to install this to build the windows version char name[512], rand[128]; DWORD count = 500; - HCRYPTOPROV cryptoHandle; + HCRYPTPROV cryptoHandle; if (!CryptGetDefaultProvider(PROV_RSA_FULL, NULL, CRYPT_MACHINE_DEFAULT, name, &count)) { @@ -43,7 +40,6 @@ bool AddSystemEntropy() CryptReleaseContext(cryptoHandle, 0); RAND_seed(rand, 128); -*/ return true; } diff --git a/src/cpp/ripple/UpdateTables.cpp b/src/cpp/ripple/UpdateTables.cpp index 6d829d9495..240c8fd1f7 100644 --- a/src/cpp/ripple/UpdateTables.cpp +++ b/src/cpp/ripple/UpdateTables.cpp @@ -96,6 +96,7 @@ static void addTxnSeqField() Log(lsINFO) << i << " transactions updated"; } + Log(lsINFO) << "Building new index"; db->executeSQL("CREATE INDEX AcctTxIndex ON AccountTransactions(Account, LedgerSeq, TxnSeq, TransID);"); db->executeSQL("END TRANSACTION;"); }