-
Notifications
You must be signed in to change notification settings - Fork 13.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
uavcan: improve status reporting #23888
Conversation
Did you verify absolutely everything is safe without the mutex? If not entirely sure you could do more granular locking. |
Yeah I checked everything and it looks like all of these just access member variables. The only risk I see is the array of _functions in the mixer module, but you'd really have to try hard to make it fail and even then I'm not sure it would. Initially I tested with granular locking but it just looks bad. If you want I can add it back, basically just calling unlock/lock after each section. |
This pull request has been mentioned on Discussion Forum for PX4, Pixhawk, QGroundControl, MAVSDK, MAVLink. There might be relevant details there: |
What about iterating the nodes here? How could that be safe without taking the mutex? |
It's iterating over a fixed length array, only printing node status if the timestamp is non-zero
|
print_status()
as this blocks the main loop and causes false positives for HW errors.