* under the terms of the license (GNU LGPL) which comes with this package. */
#include "simdag_private.hpp"
+#include "simgrid/s4u/Engine.hpp"
#include "simgrid/simdag.h"
#include "src/internal_config.h"
#include "xbt/file.hpp"
if(schedule){
if (schedule_success) {
- sg_host_t* workstations = sg_host_list();
+ std::vector<simgrid::s4u::Host*> hosts = simgrid::s4u::Engine::get_instance()->get_all_hosts();
+
for (auto const& elm : computers) {
SD_task_t previous_task = nullptr;
for (auto const& task : *elm.second) {
if (previous_task && not SD_task_dependency_exists(previous_task, task))
SD_task_dependency_add(previous_task, task);
- SD_task_schedulel(task, 1, workstations[atoi(elm.first.c_str())]);
+ SD_task_schedulel(task, 1, hosts[atoi(elm.first.c_str())]);
previous_task = task;
}
}
delete elm.second;
}
- xbt_free(workstations);
} else {
XBT_WARN("The scheduling is ignored");
for (auto const& elm : computers)
}
if (result && not acyclic_graph_detail(result)) {
- std::string base = simgrid::xbt::Path(filename).getBasename();
+ std::string base = simgrid::xbt::Path(filename).get_base_name();
XBT_ERROR("The DOT described in %s is not a DAG. It contains a cycle.", base.c_str());
xbt_dynar_free(&result);
result = nullptr;