@@ -159,12 +159,6 @@ class ClientBaseImpl
159159 // take_data for execution
160160 std::deque<std::shared_ptr<ClientBaseData>> data_queue_;
161161
162- // Lock for unreported events
163- std::recursive_mutex unreported_events_mutex_;
164-
165- // number of events, that were not yet reported by is_ready
166- size_t num_unreported_events_ = 0 ;
167-
168162 // Lock for action_client_
169163 std::recursive_mutex action_client_mutex_;
170164
@@ -358,9 +352,7 @@ ClientBase::is_ready(rcl_wait_set_t * wait_set)
358352 }
359353 }
360354
361- size_t cnt = 0 ;
362355 if (is_feedback_ready) {
363- cnt++;
364356 std::shared_ptr<void > feedback_message;
365357 {
366358 std::lock_guard<std::recursive_mutex> lock (pimpl_->action_client_mutex_ );
@@ -374,10 +366,11 @@ ClientBase::is_ready(rcl_wait_set_t * wait_set)
374366 std::make_shared<ClientBaseData>(
375367 ClientBaseData::FeedbackReadyData (
376368 ret, feedback_message)));
369+
370+ return true ;
377371 }
378372
379373 if (is_status_ready) {
380- cnt++;
381374 std::shared_ptr<void > status_message;
382375 {
383376 std::lock_guard<std::recursive_mutex> lock (pimpl_->action_client_mutex_ );
@@ -391,10 +384,11 @@ ClientBase::is_ready(rcl_wait_set_t * wait_set)
391384 std::make_shared<ClientBaseData>(
392385 ClientBaseData::StatusReadyData (
393386 ret, status_message)));
387+
388+ return true ;
394389 }
395390
396391 if (is_goal_response_ready) {
397- cnt++;
398392 rmw_request_id_t response_header;
399393 std::shared_ptr<void > goal_response;
400394 {
@@ -404,15 +398,17 @@ ClientBase::is_ready(rcl_wait_set_t * wait_set)
404398 ret = rcl_action_take_goal_response (
405399 pimpl_->client_handle .get (), &response_header, goal_response.get ());
406400 }
401+
407402 std::lock_guard<std::recursive_mutex> lock (pimpl_->data_queue_mutex_ );
408403 pimpl_->data_queue_ .push_back (
409404 std::make_shared<ClientBaseData>(
410405 ClientBaseData::GoalResponseData (
411406 ret, response_header, goal_response)));
407+
408+ return true ;
412409 }
413410
414411 if (is_result_response_ready) {
415- cnt++;
416412 rmw_request_id_t response_header;
417413 std::shared_ptr<void > result_response;
418414 {
@@ -421,15 +417,17 @@ ClientBase::is_ready(rcl_wait_set_t * wait_set)
421417 ret = rcl_action_take_result_response (
422418 pimpl_->client_handle .get (), &response_header, result_response.get ());
423419 }
420+
424421 std::lock_guard<std::recursive_mutex> lock (pimpl_->data_queue_mutex_ );
425422 pimpl_->data_queue_ .push_back (
426423 std::make_shared<ClientBaseData>(
427424 ClientBaseData::ResultResponseData (
428425 ret, response_header, result_response)));
426+
427+ return true ;
429428 }
430429
431430 if (is_cancel_response_ready) {
432- cnt++;
433431 rmw_request_id_t response_header;
434432 std::shared_ptr<void > cancel_response;
435433 {
@@ -444,21 +442,10 @@ ClientBase::is_ready(rcl_wait_set_t * wait_set)
444442 std::make_shared<ClientBaseData>(
445443 ClientBaseData::CancelResponseData (
446444 ret, response_header, cancel_response)));
445+ return true ;
447446 }
448447
449- bool return_data_ready = false ;
450-
451- {
452- std::lock_guard<std::recursive_mutex> lock (pimpl_->unreported_events_mutex_ );
453- pimpl_->num_unreported_events_ += cnt;
454-
455- if (pimpl_->num_unreported_events_ > 0 ) {
456- pimpl_->num_unreported_events_ --;
457- return_data_ready = true ;
458- }
459- }
460-
461- return return_data_ready;
448+ return false ;
462449}
463450
464451void
0 commit comments