fix: remove problematic process-shared global variables #2338
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.
Definitively fixes #1054, and simplify the thinking process while adding more explicit code.
It seems a lot of code, maybe that's not the best approach, but at least it feels more proper & explicit: I added the
missed_templates
keyword-argument from top calls until the lowest function. It will work either with a simple list (like when used from--get-word
, or--check-word
), a sharedmultiprocessing
object (like in--render
), and it does not break other code since it isNone
by default.No more global variables, and I tested with all
multiprocessing
start methods (fork, forkserver, and spawn): they all work.Bonus points:
--check-words
now reports missed templatesmissed_template
value (as seen intest_2_render.py
clean-up)