From dfcdc67e596f68f2f59fed49f93d6222795993a8 Mon Sep 17 00:00:00 2001 From: Levi Armstrong Date: Mon, 18 Sep 2023 17:53:08 -0500 Subject: [PATCH] Fixup --- .../planning/src/nodes/raster_motion_task.cpp | 6 ++++-- .../planning/src/nodes/raster_only_motion_task.cpp | 6 +++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/tesseract_task_composer/planning/src/nodes/raster_motion_task.cpp b/tesseract_task_composer/planning/src/nodes/raster_motion_task.cpp index 60df0f2883..f722ec625d 100644 --- a/tesseract_task_composer/planning/src/nodes/raster_motion_task.cpp +++ b/tesseract_task_composer/planning/src/nodes/raster_motion_task.cpp @@ -459,10 +459,12 @@ TaskComposerNodeInfo::UPtr RasterMotionTask::runImpl(TaskComposerContext& contex TaskComposerFuture::UPtr future = executor.value().get().run(task_graph, context.problem, context.data_storage); future->wait(); - /** @todo Need to merge child context into parent */ + // Merge child context data into parent context + context.task_infos.mergeInfoMap(future->context->task_infos); + if (future->context->isAborted()) + context.abort(future->context->task_infos.getAbortingNode()); auto info_map = context.task_infos.getInfoMap(); - if (context.problem->dotgraph) { std::stringstream dot_graph; diff --git a/tesseract_task_composer/planning/src/nodes/raster_only_motion_task.cpp b/tesseract_task_composer/planning/src/nodes/raster_only_motion_task.cpp index ef1e1e70f6..c9b5e1a465 100644 --- a/tesseract_task_composer/planning/src/nodes/raster_only_motion_task.cpp +++ b/tesseract_task_composer/planning/src/nodes/raster_only_motion_task.cpp @@ -366,8 +366,12 @@ TaskComposerNodeInfo::UPtr RasterOnlyMotionTask::runImpl(TaskComposerContext& co TaskComposerFuture::UPtr future = executor.value().get().run(task_graph, context.problem, context.data_storage); future->wait(); - auto info_map = context.task_infos.getInfoMap(); + // Merge child context data into parent context + context.task_infos.mergeInfoMap(future->context->task_infos); + if (future->context->isAborted()) + context.abort(future->context->task_infos.getAbortingNode()); + auto info_map = context.task_infos.getInfoMap(); if (context.problem->dotgraph) { std::stringstream dot_graph;