@@ -436,7 +436,8 @@ class LedgerManagerImpl : public LedgerManager
436436
437437 // Update cached last closed ledger state values managed by this class.
438438 void
439- advanceLastClosedLedgerState (CompleteConstLedgerStatePtr newLedgerState);
439+ advanceLastClosedLedgerState (CompleteConstLedgerStatePtr newLedgerState)
440+ LOCKS_EXCLUDED(mLedgerStateSnapshotMutex );
440441
441442 // Internal helper for loading last known ledger and an option to skip
442443 // building the 'full' state (including in-memory Soroban state, module
@@ -500,18 +501,26 @@ class LedgerManagerImpl : public LedgerManager
500501 void valueExternalized (LedgerCloseData const & ledgerData,
501502 bool isLatestSlot) override ;
502503
503- uint32_t getLastMaxTxSetSize () const override ;
504- uint32_t getLastMaxTxSetSizeOps () const override ;
504+ uint32_t getLastMaxTxSetSize () const override
505+ LOCKS_EXCLUDED(mLedgerStateSnapshotMutex );
506+ uint32_t getLastMaxTxSetSizeOps () const override
507+ LOCKS_EXCLUDED(mLedgerStateSnapshotMutex );
505508 Resource maxLedgerResources (bool isSoroban) override ;
506509 Resource maxSorobanTransactionResources () override ;
507- int64_t getLastMinBalance (uint32_t ownerCount) const override ;
508- uint32_t getLastReserve () const override ;
509- uint32_t getLastTxFee () const override ;
510- uint32_t getLastClosedLedgerNum () const override ;
510+ int64_t getLastMinBalance (uint32_t ownerCount) const override
511+ LOCKS_EXCLUDED(mLedgerStateSnapshotMutex );
512+ uint32_t getLastReserve () const override
513+ LOCKS_EXCLUDED(mLedgerStateSnapshotMutex );
514+ uint32_t getLastTxFee () const override
515+ LOCKS_EXCLUDED(mLedgerStateSnapshotMutex );
516+ uint32_t getLastClosedLedgerNum () const override
517+ LOCKS_EXCLUDED(mLedgerStateSnapshotMutex );
511518 SorobanNetworkConfig const &
512- getLastClosedSorobanNetworkConfig () const override ;
519+ getLastClosedSorobanNetworkConfig () const override
520+ LOCKS_EXCLUDED(mLedgerStateSnapshotMutex );
513521
514- bool hasLastClosedSorobanNetworkConfig () const override ;
522+ bool hasLastClosedSorobanNetworkConfig () const override
523+ LOCKS_EXCLUDED(mLedgerStateSnapshotMutex );
515524 std::chrono::milliseconds getExpectedLedgerCloseTime () const override ;
516525
517526#ifdef BUILD_TESTS
@@ -537,9 +546,11 @@ class LedgerManagerImpl : public LedgerManager
537546 void loadLastKnownLedger () override ;
538547 void partiallyLoadLastKnownLedgerForUtils () override ;
539548
540- LedgerHeaderHistoryEntry const & getLastClosedLedgerHeader () const override ;
549+ LedgerHeaderHistoryEntry const & getLastClosedLedgerHeader () const override
550+ LOCKS_EXCLUDED(mLedgerStateSnapshotMutex );
541551
542- HistoryArchiveState getLastClosedLedgerHAS () const override ;
552+ HistoryArchiveState getLastClosedLedgerHAS () const override
553+ LOCKS_EXCLUDED(mLedgerStateSnapshotMutex );
543554
544555 Database& getDatabase () override ;
545556
@@ -565,12 +576,15 @@ class LedgerManagerImpl : public LedgerManager
565576 void maybeResetLedgerCloseMetaDebugStream (uint32_t ledgerSeq);
566577
567578 SorobanMetrics& getSorobanMetrics () override ;
568- LedgerStateSnapshot copyLedgerStateSnapshot () const override ;
579+ LedgerStateSnapshot copyLedgerStateSnapshot () const override
580+ LOCKS_EXCLUDED(mLedgerStateSnapshotMutex );
569581 ApplyLedgerStateSnapshot copyApplyLedgerStateSnapshot () const override ;
570582 void maybeUpdateLedgerStateSnapshot (
571- LedgerStateSnapshot& snapshot) const override ;
583+ LedgerStateSnapshot& snapshot) const override
584+ LOCKS_EXCLUDED(mLedgerStateSnapshotMutex );
572585#ifdef BUILD_TESTS
573- void updateCanonicalStateForTesting (LedgerHeader const & header) override ;
586+ void updateCanonicalStateForTesting (LedgerHeader const & header) override
587+ LOCKS_EXCLUDED(mLedgerStateSnapshotMutex );
574588#endif
575589 virtual bool
576590 isApplying () const override
0 commit comments