Skip to content
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

changes between 1.12.12 and 1.13.6 for backporting #1323

Merged
merged 19 commits into from
Feb 21, 2018

Conversation

dirk-thomas
Copy link
Member

@dirk-thomas dirk-thomas commented Feb 9, 2018

The following list of changes has been integrated into ros_comm 1.13.6 (Lunar) since the last Kinetic release (1.12.12).

Backported: (these changes are part of this PR)

Not backported:

@ros/ros_team @ros/ros_comm-maintainers Please comment on the decision which changes to (not) backport. Especially look at the changes marked with a "?".

v-do and others added 19 commits February 9, 2018 11:49
* not imply that spinning was successful when mixing single threaded spinner with multi/async spinners

* updated error messages to reflect behavior when calling a singlethreaded spinner alongside a multithreaded one
I added some sys.exit(1)'s to rosbag commands to help with scripting.
Specifically, I expected a call to `rosbag info test.bag.active` to
return an error when the bag needed re-indexing.
* Performance improvement for lower/upper bound

Changed updateQueries() to use member functions of `multiset` instead of `std::lower_bound` and `std::upper_bound`

* Fixed warnings for C++98

Changed the calls to lower/upper bounds so they dont use the "new" C++11 extended initializer lists.
Switching to using epoll system calls to improve performance of the topic polling code by a factor of 2. This required disabling the addDelMultiThread test.
ROS_IPV6 environment variable was checked after first connection could be established.
This commit moves this check into early initialization.
* adding decompress to free(state) before return

* copy paste typo error on roslz4_decompressEnd

* revert unnecessary change
Previously, this was causing `TypeError: 'module' object is not
callable`, which was not noticed due to the bare `except:` in the test.
* Add TCP_INFO availability check

* simplify diff / patch
* Add add_rostest_gmock function

* Increase catkin required version due to new GMock API
Address a long standing issue where the `sockets_changed_` flag would never be reset causing the native poll set to be re-created everytime doing a poll.
When a process on a remote machine dies, the `process_died` callback of
the server is called.  However, the process listeners given to
`ROSLaunchParent` need to be forwarded to the server, otherwise they
cannot be called.
* fix xmlrpc timeout using monotonic clock

in XmlRpcDispatch::work the _endTime check was using system time instead of monotonic time,
so when time was set back it didn't process all events..

* replace clock_gettime for OSX

* xmlrpcpp: copy code from ros_steadytime for getTime

* use ros_steadytime

which depends on ros/roscpp_core#73
and assumes that it will be available with rostime 0.6.9

* fold build and run depend into depend tag to avoid version to be repeated

* add missing namespace to ros_steadytime

* add missing target_link_libraries

* add missing lib to tests
@dirk-thomas
Copy link
Member Author

For now #1249 was not included yet since it requires a release of roscpp_core first. I will add that commit next which is expected to fail CI. One I got feedback on this ticket I merge this (despite the CI failure) and do a release of ros_comm into Kinetic. After the rebuild of the Debian packages the devel job should pass again. 🤞

Copy link
Member

@wjwwood wjwwood left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, I consider the roslaunch master thing to be a bug and the two topic scaling fixes seem worth the risk and reasonably well acceptance tested.

@dirk-thomas
Copy link
Member Author

@wjwwood Thank you for your feedback.

The latest Lunar release has just been synced. I will wait until early next week until I merge and release this into Kinetic.

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.