diff --git a/src/xrpld/app/ledger/detail/LedgerMaster.cpp b/src/xrpld/app/ledger/detail/LedgerMaster.cpp index 72f07e91b5..5bf8a93994 100644 --- a/src/xrpld/app/ledger/detail/LedgerMaster.cpp +++ b/src/xrpld/app/ledger/detail/LedgerMaster.cpp @@ -2281,7 +2281,11 @@ LedgerMaster::doAdvance(std::unique_lock& sl) } app_.getOPs().clearNeedNetworkLedger(); - progress = newPFWork("pf:newLedger", sl); + // Publishing is progress even without pathfinding clients. Keep + // the shutdown guard so this loop cannot re-enter history work + // after the Application starts stopping. + newPFWork("pf:newLedger", sl); + progress = !app_.isStopping(); } if (progress) mAdvanceWork = true;