Port #464, #478, #496, and #502 from ros1
branch
#663
Merged
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.
Public API Changes
SubscriberManager
methods with athreading.Lock
block
parameter toMessageHandler.finish()
method with default value ofTrue
QueueMessageHandler.finish()
to run without blockingIncomingQueue
class towebsocket_handler.py
to decouple incoming messages from the IOLoop threadDescription
Earlier this year I ran into some of the issues described in #425 where the rosbridge server would end up deadlocked or blocked. I was able to solve the problem by porting several PRs from the
ros1
branch (which wasdevelop
at the time) to my working branch.I recently rebased my working branch to a newer upstream version and after testing confirmed that these fixes are still needed for my application. I thought I would open a PR and see if there was any interest in getting these features into the main ROS2 branch. All credit to the original PR authors; I simply ported the changes over from the ROS1 branch to ROS2.