FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Fix lock order inversion between GraphListener and Context (ABI compatible backport) (backport #3239) by mergify[bot] · Pull Request #3241 · ros2/rclcpp · GitHub

/ rclcpp Public

Fix lock order inversion between GraphListener and Context (ABI compatible backport) (backport #3239) - #3241

Open
mergify[bot] wants to merge 1 commit into
humblefrom
mergify/bp/humble/pr-3239
Open

Fix lock order inversion between GraphListener and Context (ABI compatible backport) (backport #3239)#3241
mergify[bot] wants to merge 1 commit into
humblefrom
mergify/bp/humble/pr-3239

Conversation

mergify Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Description

Avoids inverting lock order between GraphListener::start_if_not_started() and Context::shutdown() by registering the on_shutdown_callback before acquiring shutdown_mutex_. To avoid duplicate callback registration, a check has been added such that the shutdown callback is de-registered if this thread wasn't the one that started the graph listener (or, if shutting down, throw GraphListenerShutdownError.)

Tested against my jazzy container with my reproducing example from #2946. The diff ought to cleanly apply to kilted and humble as well.

Fixes #2946 / #3232 for humble / jazzy / kilted

Is this user-facing behavior change?

no

Did you use Generative AI?

Claude Fable 5

Additional Information


This is an automatic backport of pull request #3239 done by [Mergify](https://mergify.com).

Signed-off-by: Skyler Medeiros <skye@polymathrobotics.com>
Co-authored-by: Skyler Medeiros <skye@polymathrobotics.com>
(cherry picked from commit efb669e)

Copy link
Copy Markdown
Member

Pulls: #3241
Gist: https://gist.githubusercontent.com/skyegalaxy/ba7d26dbc1305fd3a9665b4bff41a024/raw/6387fb25f5777ac6c5926e747932e5da1712bd09/ros2.repos
BUILD args: --packages-above-and-dependencies rclcpp
TEST args: --packages-above rclcpp
ROS Distro: humble
Job: ci_launcher
ci_launcher ran: https://ci.ros2.org/job/ci_launcher/20266

  • Linux
  • Linux-aarch64
  • Linux-rhel
  • Windows

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
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


Back | FazBrowse Home | New Git URL