From e1a94e1131e309dd8cf98bb4bf650f3b23d3c2d5 Mon Sep 17 00:00:00 2001 From: suter Date: Mon, 21 Jan 2013 16:24:38 +0100 Subject: [PATCH] why let the user give a name to a dependency if s/he cannot get it after? --- include/simdag/simdag.h | 2 ++ src/simdag/sd_task.c | 17 +++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/include/simdag/simdag.h b/include/simdag/simdag.h index ece3c59522..e3eceb1105 100644 --- a/include/simdag/simdag.h +++ b/include/simdag/simdag.h @@ -209,6 +209,8 @@ XBT_PUBLIC(const char *) SD_task_get_category (SD_task_t task); XBT_PUBLIC(void) SD_task_dependency_add(const char *name, void *data, SD_task_t src, SD_task_t dst); XBT_PUBLIC(void) SD_task_dependency_remove(SD_task_t src, SD_task_t dst); +XBT_PUBLIC(const char *) SD_task_dependency_get_name(SD_task_t src, + SD_task_t dst); XBT_PUBLIC(void *) SD_task_dependency_get_data(SD_task_t src, SD_task_t dst); XBT_PUBLIC(int) SD_task_dependency_exists(SD_task_t src, SD_task_t dst); diff --git a/src/simdag/sd_task.c b/src/simdag/sd_task.c index 472e3327d3..1520ead82b 100644 --- a/src/simdag/sd_task.c +++ b/src/simdag/sd_task.c @@ -654,6 +654,23 @@ void SD_task_dependency_add(const char *name, void *data, SD_task_t src, __SD_task_set_state(dst, SD_SCHEDULED); } } +/** + * \brief Returns the name given as input when dependency has been created.. + * + * \param src a task + * \param dst a task depending on \a src + * + */ +const char *SD_task_dependency_get_name(SD_task_t src, SD_task_t dst){ + unsigned int i; + SD_dependency_t dependency; + + xbt_dynar_foreach(src->tasks_after, i, dependency){ + if (dependency->dst == dst) + return dependency->name; + } + return NULL; +} /** * \brief Indicates whether there is a dependency between two tasks. -- 2.20.1