From 14830c7cb4f014f706a48fb3ca40299a3d79ea64 Mon Sep 17 00:00:00 2001 From: David Schwartz Date: Mon, 31 Mar 2014 09:09:17 -0700 Subject: [PATCH] Avoid redundant unlock --- src/ripple_app/rpc/RPCHandler.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/ripple_app/rpc/RPCHandler.cpp b/src/ripple_app/rpc/RPCHandler.cpp index 8737ff121..505eb271f 100644 --- a/src/ripple_app/rpc/RPCHandler.cpp +++ b/src/ripple_app/rpc/RPCHandler.cpp @@ -3900,6 +3900,7 @@ Json::Value RPCHandler::doSubscribe (Json::Value params, Resource::Charge& loadT } } + bool bHaveMasterLock = true; if (!params.isMember ("books")) { nothing (); @@ -4010,7 +4011,11 @@ Json::Value RPCHandler::doSubscribe (Json::Value params, Resource::Charge& loadT if (bSnapshot) { - masterLockHolder.unlock (); + if (bHaveMasterLock) + { + masterLockHolder.unlock (); + bHaveMasterLock = false; + } loadType = Resource::feeMediumBurdenRPC; Ledger::pointer lpLedger = getApp().getLedgerMaster ().getPublishedLedger ();