No description
Find a file
Daisuke Sato 6756ccfb50
Fix action server deadlock (#1285) (#1313) (#1518)
* Add missing locking to the rclcpp_action::ServerBase. (#1421)

This patch actually does 4 related things:

1.  Renames the recursive mutex in the ServerBaseImpl class
to action_server_reentrant_mutex_, which makes it a lot
clearer what it is meant to lock.
2.  Adds some additional error checking where checks were missed.
3.  Adds a lock to publish_status so that the action_server
structure is protected.

Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>

* [backport] Fix action server deadlock (#1285, #1313)

Signed-off-by: Daisuke Sato <daisukes@cmu.edu>

* revert comment

Signed-off-by: Daisuke Sato <daisukes@cmu.edu>

Co-authored-by: Chris Lalancette <clalancette@openrobotics.org>
2021-01-20 13:51:10 -08:00
.github advise to ask questions on ROS answers 2018-02-26 22:01:36 -08:00
rclcpp 2.3.0 2020-12-09 17:43:48 -08:00
rclcpp_action Fix action server deadlock (#1285) (#1313) (#1518) 2021-01-20 13:51:10 -08:00
rclcpp_components 2.3.0 2020-12-09 17:43:48 -08:00
rclcpp_lifecycle 2.3.0 2020-12-09 17:43:48 -08:00
.gitignore add wait_for_action_server() for action clients (#598) 2018-12-06 18:57:25 -08:00
CONTRIBUTING.md add section about DCO to CONTRIBUTING.md 2019-03-20 08:38:07 -07:00
LICENSE update license file to keep copyright template 2015-04-03 12:30:27 -07:00
README.md Added Quality declaration: rclcpp, rclpp_action, rclcpp_components andrclcpp_lifecycle (#1100) 2020-05-01 22:41:22 +02:00

rclcpp

This repository contains the source code for the ROS Client Library for C++ package, included with a standard install of any ROS 2 distro.

rclcpp provides the standard C++ API for interacting with ROS 2.

Usage

#include "rclcpp/rclcpp.hpp" allows use of the most common elements of the ROS 2 system.

Visit the rclcpp API documentation for a complete list of its main components.

Examples

The ROS 2 tutorials Writing a simple publisher and subscriber and Writing a simple service and client contain some examples of rclcpp APIs in use.