X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/a1f3f97e7971074fb6bc141afa7f4d085e8d16ac..64cc1c2a72ee1ea9e69ac9c2440b33676e80db25:/src/simix/ActorImpl.cpp?ds=sidebyside diff --git a/src/simix/ActorImpl.cpp b/src/simix/ActorImpl.cpp index 4d2b7ba979..25902cea16 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.hpp" +#include "src/smpi/include/private.hpp" #endif XBT_LOG_NEW_DEFAULT_SUBCATEGORY(simix_process, simix, "Logging specific to SIMIX (process)"); @@ -167,7 +167,7 @@ void ActorImpl::daemonize() } } -ActorImpl* ActorImpl::restart(ActorImpl* issuer) +simgrid::s4u::Actor* ActorImpl::restart() { XBT_DEBUG("Restarting process %s on %s", cname(), host->getCname()); @@ -183,7 +183,7 @@ ActorImpl* ActorImpl::restart(ActorImpl* issuer) arg.auto_restart = auto_restart; // kill the old process - SIMIX_process_kill(this, issuer); + SIMIX_process_kill(this, this); // start the new process ActorImpl* actor = simix_global->create_process_function(arg.name.c_str(), std::move(arg.code), arg.data, arg.host, @@ -191,9 +191,9 @@ 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; + return actor->ciface(); } smx_activity_t ActorImpl::suspend(ActorImpl* issuer) @@ -755,8 +755,7 @@ void SIMIX_process_sleep_destroy(smx_activity_t synchro) /** * \brief Calling this function makes the process to yield. * - * Only the current process can call this function, giving back the control to - * maestro. + * Only the current process can call this function, giving back the control to maestro. * * \param self the current process */ @@ -815,17 +814,13 @@ void SIMIX_process_exception_terminate(xbt_ex_t * e) xbt_abort(); } -/** - * \brief Returns the list of processes to run. - */ +/** @brief Returns the list of processes to run. */ xbt_dynar_t SIMIX_process_get_runnable() { return simix_global->process_to_run; } -/** - * \brief Returns the process from PID. - */ +/** @brief Returns the process from PID. */ smx_actor_t SIMIX_process_from_PID(aid_t PID) { if (simix_global->process_list.find(PID) == simix_global->process_list.end()) @@ -862,17 +857,12 @@ void SIMIX_process_on_exit(smx_actor_t process, int_f_pvoid_pvoid_t fun, void *d /** * \brief Sets the auto-restart status of the process. - * If set to 1, the process will be automatically restarted when its host - * comes back. + * If set to 1, the process will be automatically restarted when its host comes back. */ void SIMIX_process_auto_restart_set(smx_actor_t process, int auto_restart) { process->auto_restart = auto_restart; } -smx_actor_t simcall_HANDLER_process_restart(smx_simcall_t simcall, smx_actor_t process) { - return process->restart(simcall->issuer); -} - /** @brief Restart a process, starting it again from the beginning. */ /** * \ingroup simix_process_management