HomePhabricator

Merge #18551: Do not clear validationinterface entries being executed

Description

Merge #18551: Do not clear validationinterface entries being executed

Summary:
2276339a176f83ffe8ceefb3e41ecca8601aa13b Add test for UnregisterAllValidationInterfaces bug (Russell Yanofsky)
3c61abbbc847d725f30d169278d84655571407c1 Do not clear validationinterface entries being executed (Pieter Wuille)

Pull request description:

The previous code for MainSignalsInstance::Clear would decrement the reference
count of every interface, including ones that were already Unregister()ed but
still being executed.

This fixes the issue pointed out here: https://github.com/bitcoin/bitcoin/pull/18524/files#r404395685 . It's not currently observable.

ACKs for top commit:

jonasschnelli:
  utACK 2276339a176f83ffe8ceefb3e41ecca8601aa13b - reviewed code and test (thanks @ryanofsky for adding the test).
MarcoFalke:
  ACK 2276339a176f83ffe8ceefb3e41ecca8601aa13b 🎎
ryanofsky:
  Code review ACK 2276339a176f83ffe8ceefb3e41ecca8601aa13b. No change to bugfix, just rebased and new test commit added since last review

Tree-SHA512: c1d68e7c681a45c6cadc84e407c2266bcb4b12d34264e1232a61c4eadb74b551231c5a3b1d041de39f507aef4dfa7d4589b8bfe1833f069c739c6270d2a05dbe

Backport of Core PR18551

Depends on D6653

Test Plan: ninja check

Reviewers: #bitcoin_abc, Fabien

Reviewed By: #bitcoin_abc, Fabien

Subscribers: deadalnix, Fabien

Differential Revision: https://reviews.bitcoinabc.org/D6654

Details

Provenance
MarcoFalke <falke.marco@gmail.com>Authored on Jun 20 2020, 00:29
deadalnixCommitted on Jun 20 2020, 00:36
deadalnixPushed on Jun 20 2020, 00:36
Reviewer
Restricted Project
Differential Revision
D6654: Merge #18551: Do not clear validationinterface entries being executed
Parents
rABC27fc0488693b: Merge #18524: refactor: drop boost::signals2 in validationinterface
Branches
Unknown
Tags
Unknown