Fix unable to close / exit the application until the application "init" phase finishes#112
Open
Kami wants to merge 2 commits intokeredson:masterfrom
Open
Fix unable to close / exit the application until the application "init" phase finishes#112Kami wants to merge 2 commits intokeredson:masterfrom
Kami wants to merge 2 commits intokeredson:masterfrom
Conversation
loop. Previously, if you pressed CTRL+C or exit before those threads finished (aka before all the chromecasts were discovered on the local network) the application would block and only exit when the chromecast discovery finished. This pull request fixes that by making those two threads daemon threads. This way they don't block the main GUI thread, but everything still works as it should.
thread approach to solve the blocked UI / main thread issue.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Problem Description
Right now when you start the app, two non-daemon / "blocking" threads are started - check ffmpeg and "init casts".
Those two threads "block" the main GUI loop which means if you press CTRL+C / "x" button, application won't exit until those two threads finish.
Init casts thread discovers Chromecasts on the local network which means it can take quite a while to finish and as mentioned above, you can't "gracefully" exit / close the application until it finishes.
Proposed Solution
This pull request fixes that by making those two threads daemon threads.
This means CTRL + C / "x" button will work as expected and the application will exit immediately.
There are also other possible approaches, but this one is the simplest and less invasive with the correct end result.