-
Notifications
You must be signed in to change notification settings - Fork 38.7k
[30.x] Backports #34192
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[30.x] Backports #34192
Conversation
Building with Boost 1.73.0 is broken. Github-Pull: bitcoin#34107 Rebased-From: f480c1e
Github-Pull: bitcoin#33950 Rebased-From: 7b90b4f
Github-Pull: bitcoin#34091 Rebased-From: caf4843
|
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. Code Coverage & BenchmarksFor details see: https://corecheck.dev/bitcoin/bitcoin/pulls/34192. ReviewsSee the guideline for information on the review process.
If your review is incorrectly listed, please copy-paste |
Github-Pull: bitcoin#34174 Rebased-From: b23b901
Github-Pull: bitcoin#34182 Rebased-From: 84d8c52
Currently when CTRL-C is pressed and there is an active `waitforblockheight`, or `waitforblock`, or `waitfornewblock` RPC call, or a mining interface `waitTipChanged` IPC call with a long timeout, the node will not shut down right away, and will wait for the timeout to be reached before exiting. This behavior is not ideal and only happens when the node is stopped with CTRL-C or SIGTERM. When the node is stopped with `bitcoin-cli stop`, the wait calls are interrupted and the node does shut down right away. The next commit improves node behavior. This commit just adds test coverage to simplify the next commit and clarify the change in behavior there. Github-Pull: bitcoin#33511 Rebased-From: 6a29f79
Signal m_tip_block_cv when Ctrl-C is pressed or SIGTERM is received, the same way it is currently signalled when the `stop` RPC is called. This lets RPC calls like `waitforblockheight` and IPC calls like `waitTipChanged` be interrupted, instead of waiting for their original timeouts and delaying shutdown. Historical notes: - The behavior where `stop` RPC signals `m_tip_block_cv`, but CTRL-C does not, has been around since the condition variable was introduced in bitcoin#30409 (7eccdaf). - The signaling was later moved without changing behavior in bitcoin#30967 (5ca28ef). This commit moves it again to the Interrupt() function, which is probably the place it should have been added initially, so it works for Ctrl-C shutdowns as well as `stop` shutdowns. - A Qt shutdown bug calling wait methods was fixed previously in bitcoin#18452 (da73f15), and this change updates that fix to avoid the hang happening again in Qt. Github-Pull: bitcoin#33511 Rebased-From: c25a5e6
6061d93 to
865ab71
Compare
Github-Pull: bitcoin#34137 Rebased-From: fa727e3
865ab71 to
f22122b
Compare
willcl-ark
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK f22122b
These backports all look good to me 👍🏼
marcofleon
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK f22122b
Backports:
address_deserialize_v2#34091