XBT_INFO("Displaying task %s", SD_task_get_name(task));
statename = bprintf("%s %s %s %s %s %s %s %s",
- (task->state & SD_NOT_SCHEDULED ? "not scheduled" :
+ (task->state == SD_NOT_SCHEDULED ? "not scheduled" :
""),
- (task->state & SD_SCHEDULABLE ? "schedulable" : ""),
- (task->state & SD_SCHEDULED ? "scheduled" : ""),
- (task->state & SD_RUNNABLE ? "runnable" :
+ (task->state == SD_SCHEDULABLE ? "schedulable" : ""),
+ (task->state == SD_SCHEDULED ? "scheduled" : ""),
+ (task->state == SD_RUNNABLE ? "runnable" :
"not runnable"),
- (task->state & SD_IN_FIFO ? "in fifo" : ""),
- (task->state & SD_RUNNING ? "running" : ""),
- (task->state & SD_DONE ? "done" : ""),
- (task->state & SD_FAILED ? "failed" : ""));
+ (task->state == SD_IN_FIFO ? "in fifo" : ""),
+ (task->state == SD_RUNNING ? "running" : ""),
+ (task->state == SD_DONE ? "done" : ""),
+ (task->state == SD_FAILED ? "failed" : ""));
XBT_INFO(" - state: %s", statename);
free(statename);
__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.