diff options
-rw-r--r-- | src/validationinterface.cpp | 4 | ||||
-rw-r--r-- | src/validationinterface.h | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/validationinterface.cpp b/src/validationinterface.cpp index 24f2b96c78..b4efbe6ef3 100644 --- a/src/validationinterface.cpp +++ b/src/validationinterface.cpp @@ -106,7 +106,9 @@ void UnregisterAllValidationInterfaces() { void CMainSignals::MempoolEntryRemoved(CTransactionRef ptx, MemPoolRemovalReason reason) { if (reason != MemPoolRemovalReason::BLOCK && reason != MemPoolRemovalReason::CONFLICT) { - m_internals->TransactionRemovedFromMempool(ptx); + m_internals->m_schedulerClient.AddToProcessQueue([ptx, this] { + m_internals->TransactionRemovedFromMempool(ptx); + }); } } diff --git a/src/validationinterface.h b/src/validationinterface.h index 915c17695e..9b5784ccc3 100644 --- a/src/validationinterface.h +++ b/src/validationinterface.h @@ -45,6 +45,8 @@ protected: * size limiting, reorg (changes in lock times/coinbase maturity), or * replacement. This does not include any transactions which are included * in BlockConnectedDisconnected either in block->vtx or in txnConflicted. + * + * Called on a background thread. */ virtual void TransactionRemovedFromMempool(const CTransactionRef &ptx) {} /** |