From e720daf1a7107daf1c20c78473fe3bb3d6d40067 Mon Sep 17 00:00:00 2001 From: Dirk Thomas Date: Fri, 27 Mar 2015 12:18:19 -0700 Subject: [PATCH] add rclcpp::shutdown() function --- rclcpp/include/rclcpp/rclcpp.hpp | 1 + rclcpp/include/rclcpp/utilities.hpp | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/rclcpp/include/rclcpp/rclcpp.hpp b/rclcpp/include/rclcpp/rclcpp.hpp index 94fbeae..863438c 100644 --- a/rclcpp/include/rclcpp/rclcpp.hpp +++ b/rclcpp/include/rclcpp/rclcpp.hpp @@ -60,6 +60,7 @@ using rclcpp::timer::TimerBase; using rclcpp::timer::WallTimer; typedef rclcpp::context::Context::SharedPtr ContextSharedPtr; using rclcpp::utilities::ok; +using rclcpp::utilities::shutdown; using rclcpp::utilities::init; using rclcpp::utilities::sleep_for; diff --git a/rclcpp/include/rclcpp/utilities.hpp b/rclcpp/include/rclcpp/utilities.hpp index b2afd8c..f20be3f 100644 --- a/rclcpp/include/rclcpp/utilities.hpp +++ b/rclcpp/include/rclcpp/utilities.hpp @@ -127,6 +127,15 @@ ok() return ::g_signal_status == 0; } +void +shutdown() +{ + g_signal_status = SIGINT; + rmw_trigger_guard_condition(g_sigint_guard_cond_handle); + g_interrupt_condition_variable.notify_all(); +} + + rmw_guard_condition_t * get_global_sigint_guard_condition() {