aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/validationinterface.cpp4
-rw-r--r--src/validationinterface.h2
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) {}
/**