Fixed precompilation hang due to timer #160
Open
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.
Summary:
Whilst trying to develop my own package that uses Tk, I found I was unable to precompile it. Precompilation was hanging. Following Julia's developer documentation for support, I found that Tk.jl was responsible for the hang. This pull request is my fix for it. I have tested this fix on my demo package.
Problem:
Tk.jl causes a precompile hang when being used in another package that is being precompiled.
For example, I created a package (TkPrecompileTest) with this as the source file:
This problem occurred when precompiling the package:
the precompilation hanged - it would be stuck here.
Solution:
See the changed files for the fix. The fix prevented the timeout Timer from being created during package precompilation.
after the fix this is the result when precompiling the package:
All tests in Tk still passed after the fix. The simple example in my test package that uses Tk works perfectly after the fix.