From fd6bc9b5f8044f93fef7609012e384d0669b4b00 Mon Sep 17 00:00:00 2001 From: Jeffery Hsu Date: Mon, 3 Oct 2022 14:18:23 -0500 Subject: [PATCH 1/5] Specifically specify callback signature fix another missing callback --- .../events_executor/events_executor_entities_collector.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/irobot_events_executor/src/rclcpp/executors/events_executor/events_executor_entities_collector.cpp b/irobot_events_executor/src/rclcpp/executors/events_executor/events_executor_entities_collector.cpp index fe997b0..c14e976 100644 --- a/irobot_events_executor/src/rclcpp/executors/events_executor/events_executor_entities_collector.cpp +++ b/irobot_events_executor/src/rclcpp/executors/events_executor/events_executor_entities_collector.cpp @@ -389,7 +389,7 @@ std::function EventsExecutorEntitiesCollector::create_entity_callback( void * exec_entity_id, ExecutorEventType event_type) { - auto callback = [this, exec_entity_id, event_type](size_t num_events) { + std::function callback = [this, exec_entity_id, event_type](size_t num_events) { ExecutorEvent event = {exec_entity_id, -1, event_type, num_events}; associated_executor_->events_queue_->enqueue(event); }; @@ -399,7 +399,7 @@ EventsExecutorEntitiesCollector::create_entity_callback( std::function EventsExecutorEntitiesCollector::create_waitable_callback(void * exec_entity_id) { - auto callback = [this, exec_entity_id](size_t num_events, int gen_entity_id) { + std::function callback = [this, exec_entity_id](size_t num_events, int gen_entity_id) { ExecutorEvent event = {exec_entity_id, gen_entity_id, ExecutorEventType::WAITABLE_EVENT, num_events}; associated_executor_->events_queue_->enqueue(event); From cc065a1b54dde92d74dd0b635066ee05bb739df0 Mon Sep 17 00:00:00 2001 From: Jeffery Hsu Date: Tue, 4 Oct 2022 15:02:28 -0500 Subject: [PATCH 2/5] experimenting --- .../events_executor/events_executor_entities_collector.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/irobot_events_executor/src/rclcpp/executors/events_executor/events_executor_entities_collector.cpp b/irobot_events_executor/src/rclcpp/executors/events_executor/events_executor_entities_collector.cpp index c14e976..441d723 100644 --- a/irobot_events_executor/src/rclcpp/executors/events_executor/events_executor_entities_collector.cpp +++ b/irobot_events_executor/src/rclcpp/executors/events_executor/events_executor_entities_collector.cpp @@ -390,6 +390,7 @@ EventsExecutorEntitiesCollector::create_entity_callback( void * exec_entity_id, ExecutorEventType event_type) { std::function callback = [this, exec_entity_id, event_type](size_t num_events) { + assert(this !=nullptr) ExecutorEvent event = {exec_entity_id, -1, event_type, num_events}; associated_executor_->events_queue_->enqueue(event); }; From 35b45b975cd412543bf33ab3394a1374438c382a Mon Sep 17 00:00:00 2001 From: Jeffery Hsu Date: Tue, 4 Oct 2022 15:46:20 -0500 Subject: [PATCH 3/5] experimenting2 fix format fix format --- .../src/rclcpp/executors/events_executor/events_executor.cpp | 2 +- .../events_executor/events_executor_entities_collector.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/irobot_events_executor/src/rclcpp/executors/events_executor/events_executor.cpp b/irobot_events_executor/src/rclcpp/executors/events_executor/events_executor.cpp index b3556f9..a4f7193 100644 --- a/irobot_events_executor/src/rclcpp/executors/events_executor/events_executor.cpp +++ b/irobot_events_executor/src/rclcpp/executors/events_executor/events_executor.cpp @@ -53,7 +53,7 @@ EventsExecutor::EventsExecutor( EventsExecutor::~EventsExecutor() { spinning.store(false); -}; +} void EventsExecutor::spin() diff --git a/irobot_events_executor/src/rclcpp/executors/events_executor/events_executor_entities_collector.cpp b/irobot_events_executor/src/rclcpp/executors/events_executor/events_executor_entities_collector.cpp index 441d723..7220a20 100644 --- a/irobot_events_executor/src/rclcpp/executors/events_executor/events_executor_entities_collector.cpp +++ b/irobot_events_executor/src/rclcpp/executors/events_executor/events_executor_entities_collector.cpp @@ -390,7 +390,7 @@ EventsExecutorEntitiesCollector::create_entity_callback( void * exec_entity_id, ExecutorEventType event_type) { std::function callback = [this, exec_entity_id, event_type](size_t num_events) { - assert(this !=nullptr) + assert(this != nullptr); ExecutorEvent event = {exec_entity_id, -1, event_type, num_events}; associated_executor_->events_queue_->enqueue(event); }; From 6a2e32413ad365571edc590c2ba6ef6025170375 Mon Sep 17 00:00:00 2001 From: Jeffery Hsu Date: Tue, 4 Oct 2022 22:28:23 -0500 Subject: [PATCH 4/5] experiment3 --- .../events_executor/events_executor_entities_collector.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/irobot_events_executor/src/rclcpp/executors/events_executor/events_executor_entities_collector.cpp b/irobot_events_executor/src/rclcpp/executors/events_executor/events_executor_entities_collector.cpp index 7220a20..760b119 100644 --- a/irobot_events_executor/src/rclcpp/executors/events_executor/events_executor_entities_collector.cpp +++ b/irobot_events_executor/src/rclcpp/executors/events_executor/events_executor_entities_collector.cpp @@ -180,6 +180,7 @@ EventsExecutorEntitiesCollector::set_callback_group_entities_callbacks( // Set callbacks for all other entity types group->find_subscription_ptrs_if( [this](const rclcpp::SubscriptionBase::SharedPtr & subscription) { + assert(this != nullptr); if (subscription) { weak_subscriptions_map_.emplace(subscription.get(), subscription); @@ -389,6 +390,7 @@ std::function EventsExecutorEntitiesCollector::create_entity_callback( void * exec_entity_id, ExecutorEventType event_type) { + assert(this != nullptr); std::function callback = [this, exec_entity_id, event_type](size_t num_events) { assert(this != nullptr); ExecutorEvent event = {exec_entity_id, -1, event_type, num_events}; From 2fc586effed437e2dd59d3de9ed3880b819a8c96 Mon Sep 17 00:00:00 2001 From: Jeffery Hsu Date: Tue, 4 Oct 2022 23:15:28 -0500 Subject: [PATCH 5/5] experiment4 --- .../events_executor/events_executor_entities_collector.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/irobot_events_executor/src/rclcpp/executors/events_executor/events_executor_entities_collector.cpp b/irobot_events_executor/src/rclcpp/executors/events_executor/events_executor_entities_collector.cpp index 760b119..91bce2c 100644 --- a/irobot_events_executor/src/rclcpp/executors/events_executor/events_executor_entities_collector.cpp +++ b/irobot_events_executor/src/rclcpp/executors/events_executor/events_executor_entities_collector.cpp @@ -394,7 +394,7 @@ EventsExecutorEntitiesCollector::create_entity_callback( std::function callback = [this, exec_entity_id, event_type](size_t num_events) { assert(this != nullptr); ExecutorEvent event = {exec_entity_id, -1, event_type, num_events}; - associated_executor_->events_queue_->enqueue(event); + this->associated_executor_->events_queue_->enqueue(event); }; return callback; }