Fix spurious continue in the debug mode #75
Merged
+1
−1
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.
This patch fixes the problem I came across when tried to use the
debugger on MacOS with arm64. When Lua hit breakpoint it captured it
though the program execution did not stop since the debug loop exited
almost instantly.
Debug prints showed that this happened due to the spurious wake ups of
the conditional variable
cvRun
. None of the methods notified thisconditional so it seems it is a spurious wake up. Probably it is
specific to the architecture.
This small patch fixes this by adding a predicate to the conditional
variable. It waits until the debugging is finished or there are
evals to run.