qt: Do not block GUI thread in RPCConsole#17659
qt: Do not block GUI thread in RPCConsole#17659hebasto wants to merge 5 commits intobitcoin:masterfrom
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-qtshutdown routine. This causes unresponsive GUI if some commands are passed to the RPC console (#13217) before shutdown initiating.This PR:
bitcoin-qtshutdown 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