+
+ if (src == dst)
+ THROW1(arg_error, 0, "Cannot add a dependency between task '%s' and itself",
+ SD_task_get_name(src));
+
+ if (!__SD_task_is_not_scheduled(src) && !__SD_task_is_scheduled_or_ready(src))
+ THROW1(arg_error, 0, "Task '%s' must be SD_NOT_SCHEDULED, SD_SCHEDULED or SD_READY", SD_task_get_name(src));
+
+ if (!__SD_task_is_not_scheduled(dst) && !__SD_task_is_scheduled_or_ready(dst))
+ THROW1(arg_error, 0, "Task '%s' must be SD_NOT_SCHEDULED, SD_SCHEDULED or SD_READY", SD_task_get_name(dst));
+
+ DEBUG2("SD_task_dependency_add: src = %s, dst = %s", SD_task_get_name(src), SD_task_get_name(dst));