X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/466f188952918914db8c4124caa1b196cef505be..89f389e6348fde6457d692ef1f0a81d55f658b1d:/src/s4u/s4u_Actor.cpp diff --git a/src/s4u/s4u_Actor.cpp b/src/s4u/s4u_Actor.cpp index 858f69e54a..8fdb474ed3 100644 --- a/src/s4u/s4u_Actor.cpp +++ b/src/s4u/s4u_Actor.cpp @@ -355,7 +355,7 @@ void execute(double flops) void execute(double flops, double priority) { - exec_init(flops)->set_priority(priority)->start()->wait(); + exec_init(flops)->set_priority(priority)->vetoable_start()->wait(); } void parallel_execute(const std::vector& hosts, const std::vector& flops_amounts, @@ -372,9 +372,7 @@ void parallel_execute(const std::vector& hosts, const std::vectorset_flops_amount(flops_amount)->set_host(get_host()); - return exec; + return Exec::init()->set_flops_amount(flops_amount)->set_host(get_host()); } ExecPtr exec_init(const std::vector& hosts, const std::vector& flops_amounts, @@ -400,15 +398,13 @@ ExecPtr exec_init(const std::vector& hosts, const std::vectorset_flops_amounts(flops_amounts)->set_bytes_amounts(bytes_amounts)->set_hosts(hosts); - return exec; + return Exec::init()->set_flops_amounts(flops_amounts)->set_bytes_amounts(bytes_amounts)->set_hosts(hosts); } ExecPtr exec_async(double flops) { ExecPtr res = exec_init(flops); - res->start(); + res->vetoable_start(); return res; } @@ -875,8 +871,7 @@ sg_exec_t sg_actor_parallel_exec_init(int host_nb, const sg_host_t* host_list, d if (bytes_amount != nullptr) bytes = std::vector(bytes_amount, bytes_amount + host_nb * host_nb); - simgrid::s4u::ExecPtr exec(new simgrid::s4u::Exec()); - exec->set_flops_amounts(flops)->set_bytes_amounts(bytes)->set_hosts(hosts); + simgrid::s4u::ExecPtr exec = simgrid::s4u::this_actor::exec_init(hosts, flops, bytes); exec->add_ref(); return exec.get(); }