-
Notifications
You must be signed in to change notification settings - Fork 37.7k
qt: Do not block GUI thread in RPCConsole #17659
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
Conversation
Could you update this with a description of what this PR does? Useful information to include:
It's great to link to other issues and pull requests in a PR description for extra details, but it shouldn't be necessary to open multiple other issues just to have a basic understanding of what a PR does and what motivated it |
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ConflictsNo conflicts as of last run. |
Calling |
I have observed such behavior on Could you provide steps to reproduce an issue reliably? |
OP has been updated. |
@hebasto actually it's unrelated to this change. Just noticed that |
The folllowing still hangs:
Are you able to reproduce? |
This requires a forced interruption of the RPC thread. It seems a bit out of the scope of this PR, as it solves the blocking of the GUI thread only. In your example Maybe, to mention in OP that #17495 is fixed, is wrong, no? |
@hebasto maybe just mention it's not a complete fix. |
485e3de
to
e7ee445
Compare
Rebased 485e3de -> e7ee445 (pr17659.01 -> pr17659.02) due to the conflict with #16224. |
Nice. Concept ACK |
Concept ACK. Needs rebase. |
e7ee445
to
776d157
Compare
Rebased e7ee445 -> 776d157 (pr17659.02 -> pr17659.03) due to the conflict with #16432. |
776d157
to
47912c5
Compare
Rebased 776d157 -> 47912c5 (pr17659.03 -> pr17659.04) due to the conflict with #19011. |
Lets move this over to the GUI repo. I've also ported the original issue there now as well, given that the non-gui part has been fixed. |
Moved to bitcoin-core/gui#59. |
On master (35eda63) the GUI thread is blocked with
QThread::wait()
duringbitcoin-qt
shutdown routine. This causes unresponsive GUI if some commands are passed to the RPC console (#13217) before shutdown initiating.This PR:
bitcoin-qt
shutdown routine more streamlined: the onlyQApplication::exec()
is used inbitcoin-qt
. Therefore, the main event loop never interrupts until shutdown, unlike master and alternative Qt: Fix for bitcoin-qt becoming unresponsive during shutdown (issue #13217) #13674.Refs:
This PR is an alternative to #13674.
Fix #13217