X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/a001b13d7aa269a90f035f58c71778c6812b07f6..2807fde4fd1f59c230d69a934634c5dfb77905f2:/src/simix/smx_host.cpp diff --git a/src/simix/smx_host.cpp b/src/simix/smx_host.cpp index 86985418e0..393256fc27 100644 --- a/src/simix/smx_host.cpp +++ b/src/simix/smx_host.cpp @@ -1,15 +1,16 @@ -/* Copyright (c) 2007-2016. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2007-2017. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ #include "mc/mc.h" -#include "smx_private.h" +#include "smx_private.hpp" #include "src/kernel/activity/CommImpl.hpp" -#include "src/mc/mc_replay.h" +#include "src/mc/mc_replay.hpp" #include "src/plugins/vm/VirtualMachineImpl.hpp" #include "src/surf/surf_interface.hpp" #include "xbt/ex.hpp" +#include XBT_LOG_NEW_DEFAULT_SUBCATEGORY(simix_host, simix, "SIMIX hosts"); @@ -81,8 +82,8 @@ void SIMIX_host_off(sg_host_t h, smx_actor_t issuer) smx_actor_t process = nullptr; xbt_swag_foreach(process, host->process_list) { SIMIX_process_kill(process, issuer); - XBT_DEBUG("Killing %s@%s on behalf of %s which turned off that host.", process->cname(), - process->host->getCname(), issuer->cname()); + XBT_DEBUG("Killing %s@%s on behalf of %s which turned off that host.", process->getCname(), + process->host->getCname(), issuer->getCname()); } } } else { @@ -191,11 +192,6 @@ SIMIX_execution_parallel_start(const char* name, int host_nb, sg_host_t* host_li simgrid::kernel::activity::ExecImplPtr exec = simgrid::kernel::activity::ExecImplPtr(new simgrid::kernel::activity::ExecImpl(name, nullptr)); - /* set surf's synchro */ - sg_host_t *host_list_cpy = xbt_new0(sg_host_t, host_nb); - for (int i = 0; i < host_nb; i++) - host_list_cpy[i] = host_list[i]; - /* 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++) { @@ -205,6 +201,9 @@ SIMIX_execution_parallel_start(const char* name, int host_nb, sg_host_t* host_li /* set surf's synchro */ if (not MC_is_active() && not MC_record_replay_is_active()) { + /* set surf's synchro */ + sg_host_t* host_list_cpy = new sg_host_t[host_nb]; + std::copy_n(host_list, host_nb, host_list_cpy); exec->surf_exec = surf_host_model->executeParallelTask(host_nb, host_list_cpy, flops_amount, bytes_amount, rate); exec->surf_exec->setData(exec.get()); if (timeout > 0) {