diff options
Diffstat (limited to 'src/messagehandler.cc')
-rw-r--r-- | src/messagehandler.cc | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/messagehandler.cc b/src/messagehandler.cc index 8217bde..cdc7246 100644 --- a/src/messagehandler.cc +++ b/src/messagehandler.cc @@ -63,8 +63,18 @@ MessageList handle_msg(MessageList msgList, clientid_t wsi) { { INFO(messagehandler, "Handling remove command\n"); try { - m.nodes = task_manager.removeTask(m.remove.id); - outmsgs.push_back(m); + TaskIdList ids = task_manager.subTasks(m.remove.id); + TaskIdList::reverse_iterator id = ids.rbegin(); + while(id != ids.rend()) { + task_t task = task_manager.task(*id); + + message_t m = create_msg_remove(task); + m.nodes = task_manager.removeTask(task.id); + + outmsgs.push_back(m); + id++; + printf("!!!\n"); + } } catch (std::exception& e) { DEBUG(messagehandler, "Error remove task\n"); |