Repository navigation
Wait for Package Control to re-enable installed packages - #305
Merged
Merged
Conversation
Package Control disables packages while installing them and re-enables them afterwards. The helper killed Sublime Text as soon as the packages and libraries were installed, which could leave them in ignored_packages, so that the tests started without them.
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.
Package Control disables packages while it installs them: it adds them to
ignored_packagesandin_process_packages, and removes them from both once the package is installed. The helper only checked that the packages' files exist and that the libraries are installed, so it could kill Sublime Text before Package Control re-enabled the packages. The tests then started with those packages still inignored_packages. Package Control re-enables them on the next start, but by then a test may have already opened a file that needs them.This happened in https://github.com/sublimelsp/LSP-bitbake/actions/runs/39312190764/job/118264362311 on Windows. The test run printed
Package Control: Re-enabling 1 package after a Package Control operation was interrupted..., and the language server never started for a file whose syntax comes from theBitBakepackage. The same commit passed on Windows in another run.check_packagesnow also waits untilin_process_packagesis empty. It's read throughPackageDisabler.in_process_packages(), which takes the lock that Package Control holds while it saves both settings, soignored_packageshas also been saved by the time the list is empty.