From fbde70f0d01e58fd09dec26bfac7ee449524ad96 Mon Sep 17 00:00:00 2001 From: Marcus Winter Date: Tue, 8 Nov 2016 17:03:30 +0100 Subject: [PATCH] mtapi_c: fixed task handling --- mtapi_c/src/embb_mtapi_scheduler_t.c | 4 ++-- mtapi_c/src/embb_mtapi_task_queue_t.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/mtapi_c/src/embb_mtapi_scheduler_t.c b/mtapi_c/src/embb_mtapi_scheduler_t.c index e023256..51d5c6e 100644 --- a/mtapi_c/src/embb_mtapi_scheduler_t.c +++ b/mtapi_c/src/embb_mtapi_scheduler_t.c @@ -230,8 +230,8 @@ void embb_mtapi_scheduler_finalize_task( if (MTAPI_NULL != task->attributes.complete_func) { task->attributes.complete_func(task->handle, MTAPI_NULL); } - /* delete task if detached */ - if (MTAPI_TRUE == task->attributes.is_detached) { + /* delete task if detached and not in a group */ + if (MTAPI_NULL == group && MTAPI_TRUE == task->attributes.is_detached) { embb_mtapi_task_delete(task, node->task_pool); } } diff --git a/mtapi_c/src/embb_mtapi_task_queue_t.c b/mtapi_c/src/embb_mtapi_task_queue_t.c index 8bb9f7f..a1b3463 100644 --- a/mtapi_c/src/embb_mtapi_task_queue_t.c +++ b/mtapi_c/src/embb_mtapi_task_queue_t.c @@ -146,7 +146,7 @@ mtapi_boolean_t embb_mtapi_task_queue_process( if (embb_spin_lock(&that->lock) == EMBB_SUCCESS) { idx = that->get_task_position; for (ii = 0; ii < that->tasks_available; ii++) { - result = process(that->task_buffer[ii], user_data); + result = process(that->task_buffer[idx], user_data); if (MTAPI_FALSE == result) { break; } -- libgit2 0.26.0