diff --git a/src/cpp/ripple/SHAMapSync.cpp b/src/cpp/ripple/SHAMapSync.cpp index b7ec400cf3..50f2f25547 100644 --- a/src/cpp/ripple/SHAMapSync.cpp +++ b/src/cpp/ripple/SHAMapSync.cpp @@ -508,17 +508,16 @@ std::list SHAMap::getFetchPack(SHAMap* have, bool incl boost::recursive_mutex::scoped_lock ul1(mLock); - UPTR_T< boost::unique_lock > ul2; + boost::shared_ptr< boost::unique_lock > ul2; + if (have) { - UPTR_T< boost::unique_lock > ul3( - new boost::unique_lock(have->mLock, boost::try_to_lock)); - if (!(*ul3)) + ul2 = boost::make_shared< boost::unique_lock >(have->mLock, boost::try_to_lock); + if (!(*ul2)) { cLog(lsINFO) << "Unable to create pack due to lock"; return ret; } - ul2.swap(ul3); }