File tree Expand file tree Collapse file tree 1 file changed +11
-1
lines changed
rclcpp/include/rclcpp/wait_set_policies/detail Expand file tree Collapse file tree 1 file changed +11
-1
lines changed Original file line number Diff line number Diff line change @@ -73,7 +73,17 @@ class StoragePolicyCommon
7373 size_t services_from_waitables = 0 ;
7474 size_t events_from_waitables = 0 ;
7575 for (const auto & waitable_entry : waitables) {
76- rclcpp::Waitable & waitable = *waitable_entry.waitable .get ();
76+ auto waitable_ptr_pair = get_raw_pointer_from_smart_pointer (waitable_entry.waitable );
77+ if (nullptr == waitable_ptr_pair.second ) {
78+ if (HasStrongOwnership) {
79+ throw std::runtime_error (" unexpected condition, fixed storage policy needs pruning" );
80+ }
81+ // Flag for pruning.
82+ needs_pruning_ = true ;
83+ continue ;
84+ }
85+
86+ rclcpp::Waitable & waitable = *waitable_ptr_pair.second ;
7787 subscriptions_from_waitables += waitable.get_number_of_ready_subscriptions ();
7888 guard_conditions_from_waitables += waitable.get_number_of_ready_guard_conditions ();
7989 timers_from_waitables += waitable.get_number_of_ready_timers ();
You can’t perform that action at this time.
0 commit comments