Backport bitcoin#12266 and bitcoin#13894 to fix shutdown issues #3374
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This backports bitcoin#12266 and bitcoin#13894, which is necessary due to the move of signal handling into the scheduler. This causes a lot more work being done in the scheduler thread, making it a lot more likely to have pending tasks while in shutdown, which in turn might cause crashes on shutdown.
This should also fix test failures like in https://gitlab.com/dashpay/dash/-/jobs/481521254