Set active = True after setting currentPlane to avoid race condition. #23
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.
Fixes a race condition in
axis-ptz/camera.py
.The mqtt message handler was setting
active = True
before it setcurrentPlane
, which meant that when the first message was received it would be possible for the camera thread to begin trying to processcurrentPlane
when it was stillNone
.This probably isn't a race condition that would manifest often, but in my case I was sending the wrong JSON on the flight mqtt topic, which not only triggered the race but also was a bit extra confusing because the exception was being silently eaten (See PR #24).