Skip to content

Fix get_dxl_data service deadlock - #116

Closed
mandicLuka wants to merge 1 commit into
ROBOTIS-GIT:humblefrom
mandicLuka:fix/get-dxl-data-deadlock
Closed

mandicLuka wants to merge 1 commit into
ROBOTIS-GIT:humblefrom
mandicLuka:fix/get-dxl-data-deadlock

Conversation

@mandicLuka

Copy link
Copy Markdown

Summary

The get_dxl_data callback queues a read, then waits for ReadItemBuf() to mark it complete. The callback is processed by spin_some() from DynamixelHardware::read(), after ReadItemBuf() has run for that cycle. Waiting in the callback therefore prevents the next read cycle from starting and always reaches the request timeout.

Read the requested control-table item directly with ReadItem() instead. This preserves the service API and its failure response while allowing callers to verify a write safely.

Testing

Not run: validating this requires a connected DYNAMIXEL bus.

@mandicLuka mandicLuka closed this Oct 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant