aboutsummaryrefslogtreecommitdiff
path: root/src/validationinterface.h
diff options
context:
space:
mode:
authorMatt Corallo <git@bluematt.me>2017-12-24 12:13:13 -0500
committerMatt Corallo <git@bluematt.me>2017-12-26 11:56:00 -0500
commit97d2b09c124e6e5803f7fd4503348d9710d1260f (patch)
tree03f9de627168be7e5ae8a95b6d345b754496a517 /src/validationinterface.h
parent36137497f1e2b3324ca84550f4f295dcd605d1fa (diff)
downloadbitcoin-97d2b09c124e6e5803f7fd4503348d9710d1260f.tar.xz
Add helper to wait for validation interface queue to catch up
Diffstat (limited to 'src/validationinterface.h')
-rw-r--r--src/validationinterface.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/validationinterface.h b/src/validationinterface.h
index 164059e3b9..f416f6678f 100644
--- a/src/validationinterface.h
+++ b/src/validationinterface.h
@@ -42,6 +42,16 @@ void UnregisterAllValidationInterfaces();
* will result in a deadlock (that DEBUG_LOCKORDER will miss).
*/
void CallFunctionInValidationInterfaceQueue(std::function<void ()> func);
+/**
+ * This is a synonym for the following, which asserts certain locks are not
+ * held:
+ * std::promise<void> promise;
+ * CallFunctionInValidationInterfaceQueue([&promise] {
+ * promise.set_value();
+ * });
+ * promise.get_future().wait();
+ */
+void SyncWithValidationInterfaceQueue();
class CValidationInterface {
protected: