X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/b9625f82f86db0674e911887addce45dca31b57f..414936833e025894e8d3107dc11251440f1a0c04:/src/s4u/s4u_Exec.cpp diff --git a/src/s4u/s4u_Exec.cpp b/src/s4u/s4u_Exec.cpp index 7908468702..67a5caf95c 100644 --- a/src/s4u/s4u_Exec.cpp +++ b/src/s4u/s4u_Exec.cpp @@ -42,11 +42,11 @@ Exec* Exec::wait_for(double timeout) int Exec::wait_any_for(std::vector* execs, double timeout) { - std::unique_ptr rexecs(new kernel::activity::ExecImpl*[execs->size()]); - std::transform(begin(*execs), end(*execs), rexecs.get(), + std::vector rexecs(execs->size()); + std::transform(begin(*execs), end(*execs), begin(rexecs), [](const ExecPtr& exec) { return static_cast(exec->pimpl_.get()); }); - int changed_pos = simcall_execution_waitany_for(rexecs.get(), execs->size(), timeout); + int changed_pos = simcall_execution_waitany_for(rexecs.data(), rexecs.size(), timeout); if (changed_pos != -1) execs->at(changed_pos)->release_dependencies(); return changed_pos;