From: suter Date: Mon, 21 Jan 2013 15:24:38 +0000 (+0100) Subject: why let the user give a name to a dependency if s/he cannot get it X-Git-Tag: v3_9_rc1~74 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/e1a94e1131e309dd8cf98bb4bf650f3b23d3c2d5 why let the user give a name to a dependency if s/he cannot get it after? --- 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.