X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/7238b7f58f04a7cc2dd9d9241c955dfa1f07611e..7c4bef6efee6ba4a06f99e78ea1198d74dc520fc:/src/simix/ActorImpl.cpp diff --git a/src/simix/ActorImpl.cpp b/src/simix/ActorImpl.cpp index f7d2dca74f..afdedc1bc5 100644 --- a/src/simix/ActorImpl.cpp +++ b/src/simix/ActorImpl.cpp @@ -31,7 +31,7 @@ #include "src/surf/surf_interface.hpp" #ifdef HAVE_SMPI -#include "src/smpi/private.h" +#include "src/smpi/include/private.hpp" #endif XBT_LOG_NEW_DEFAULT_SUBCATEGORY(simix_process, simix, "Logging specific to SIMIX (process)"); @@ -178,7 +178,7 @@ ActorImpl* ActorImpl::restart(ActorImpl* issuer) arg.code = code; arg.host = host; arg.kill_time = SIMIX_timer_get_date(kill_timer); - arg.data = data; + arg.data = userdata; arg.properties = nullptr; arg.auto_restart = auto_restart; @@ -191,7 +191,7 @@ ActorImpl* ActorImpl::restart(ActorImpl* issuer) if (arg.kill_time >= 0) simcall_process_set_kill_time(actor, arg.kill_time); if (arg.auto_restart) - simcall_process_auto_restart_set(actor, arg.auto_restart); + actor->auto_restart = arg.auto_restart; return actor; } @@ -258,7 +258,7 @@ void create_maestro(std::function code) maestro = new simgrid::simix::ActorImpl(); maestro->pid = simix_process_maxpid++; maestro->name = ""; - maestro->data = nullptr; + maestro->userdata = nullptr; if (not code) { maestro->context = SIMIX_context_new(std::function(), nullptr, maestro); @@ -309,7 +309,7 @@ smx_actor_t SIMIX_process_create(const char* name, std::function code, v process->pid = simix_process_maxpid++; process->name = simgrid::xbt::string(name); process->host = host; - process->data = data; + process->userdata = data; process->simcall.issuer = process; if (parent_process != nullptr) { @@ -375,7 +375,7 @@ smx_actor_t SIMIX_process_attach(const char* name, void* data, const char* hostn process->pid = simix_process_maxpid++; process->name = std::string(name); process->host = host; - process->data = data; + process->userdata = data; process->simcall.issuer = process; if (parent_process != nullptr) { @@ -645,20 +645,14 @@ void* SIMIX_process_self_get_data() if (not self) { return nullptr; } - return self->data; + return self->getUserData(); } void SIMIX_process_self_set_data(void *data) { - smx_actor_t self = SIMIX_process_self(); - - SIMIX_process_set_data(self, data); + SIMIX_process_self()->setUserData(data); } -void SIMIX_process_set_data(smx_actor_t process, void *data) -{ - process->data = data; -} /* needs to be public and without simcall because it is called by exceptions and logging events */ @@ -788,11 +782,8 @@ void SIMIX_process_yield(smx_actor_t self) SIMIX_process_on_exit_runall(self); /* Add the process to the list of process to restart, only if the host is down */ if (self->auto_restart && self->host->isOff()) { - SIMIX_host_add_auto_restart_process(self->host, self->cname(), - self->code, self->data, - SIMIX_timer_get_date(self->kill_timer), - self->properties, - self->auto_restart); + SIMIX_host_add_auto_restart_process(self->host, self->cname(), self->code, self->userdata, + SIMIX_timer_get_date(self->kill_timer), self->properties, self->auto_restart); } XBT_DEBUG("Process %s@%s is dead", self->cname(), self->host->getCname()); self->context->stop();