From 64e729fba66f0a11b1d0cd59b26c105046f690e2 Mon Sep 17 00:00:00 2001 From: JoelKatz Date: Mon, 19 Aug 2013 15:13:13 -0700 Subject: [PATCH] Don't remove pathfinding requests erroneously. --- .../ripple_app/paths/ripple_PathRequest.cpp | 31 +++++++++++-------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/modules/ripple_app/paths/ripple_PathRequest.cpp b/modules/ripple_app/paths/ripple_PathRequest.cpp index 335722be7a..0ff8d05f9b 100644 --- a/modules/ripple_app/paths/ripple_PathRequest.cpp +++ b/modules/ripple_app/paths/ripple_PathRequest.cpp @@ -332,21 +332,26 @@ void PathRequest::updateAll (Ledger::ref ledger, bool newOnly) bool remove = true; PathRequest::pointer pRequest = wRequest.lock (); - if (pRequest && (!newOnly || pRequest->isNew ())) + if (pRequest) { - InfoSub::pointer ipSub = pRequest->wpSubscriber.lock (); - - if (ipSub) - { - Json::Value update; - { - boost::recursive_mutex::scoped_lock sl (pRequest->mLock); - pRequest->doUpdate (cache, false); - update = pRequest->jvStatus; - } - update["type"] = "path_find"; - ipSub->send (update, false); + if (newOnly && !pRequest->isNew ()) remove = false; + else + { + InfoSub::pointer ipSub = pRequest->wpSubscriber.lock (); + + if (ipSub) + { + Json::Value update; + { + boost::recursive_mutex::scoped_lock sl (pRequest->mLock); + pRequest->doUpdate (cache, false); + update = pRequest->jvStatus; + } + update["type"] = "path_find"; + ipSub->send (update, false); + remove = false; + } } }