X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/32db5a3c200f56f6c965eeddc14e6f88341acbe8..d70f8e758b34f51465c538b127f9cc8c40634603:/src/simix/libsmx.cpp diff --git a/src/simix/libsmx.cpp b/src/simix/libsmx.cpp index a7461149a4..d488f6c953 100644 --- a/src/simix/libsmx.cpp +++ b/src/simix/libsmx.cpp @@ -45,6 +45,13 @@ smx_activity_t simcall_execution_parallel_start(const std::string& name, int hos const double* flops_amount, const double* bytes_amount, double rate, double timeout) { + /* Check that we are not mixing VMs and PMs in the parallel task */ + bool is_a_vm = (nullptr != dynamic_cast(host_list[0])); + for (int i = 1; i < host_nb; i++) { + bool tmp_is_a_vm = (nullptr != dynamic_cast(host_list[i])); + xbt_assert(is_a_vm == tmp_is_a_vm, "parallel_execute: mixing VMs and PMs is not supported (yet)."); + } + /* checking for infinite values */ for (int i = 0 ; i < host_nb ; ++i) { if (flops_amount != nullptr) @@ -424,7 +431,7 @@ smx_activity_t simcall_execution_start(const std::string& name, const std::strin { return simgrid::simix::simcall([name, category, flops_amount, priority, bound, host] { return simgrid::kernel::activity::ExecImplPtr( - new simgrid::kernel::activity::ExecImpl(std::move(name), std::move(category), nullptr, host)) + new simgrid::kernel::activity::ExecImpl(std::move(name), std::move(category), host)) ->start(flops_amount, priority, bound); }); }