ros2 / ros2/rclcpp

EventsExecutor doesn't support rcl guard conditions

Open
#2,574 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
805
Forks
564
Avg merge
1d 17h
Merged PRs (30d)
27

Description

Bug report

The EventsExecutor currently doesn't handle guard conditions managed in rcl.
An example is the graph guard condition.
The EventsExecutor won't receive events from these entities (note that rclcpp::GuardConditions will still work).
Waitables that rely on them won't execute.

Additional information

We should either have rclcpp only deal with rclcpp::GuardCondition by wrapping them or propagate some callbacks from rclcpp down to the rmw to receive events.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the EventsExecutor handling of rcl-managed guard conditions and compare it with the existing rclcpp::GuardCondition path. Reproduce the graph guard condition case and verify that EventsExecutor receives the event and executes waitables that rely on it; the issue leaves the implementation approach open.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
robotics
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.