X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/d20f024dba9ff1e9c8822237caaf963b9e913889..1bd1598e76058781ce535546a31555fe753f55a5:/src/msg/msg_process.cpp diff --git a/src/msg/msg_process.cpp b/src/msg/msg_process.cpp index 465e4cffef..78ea89df16 100644 --- a/src/msg/msg_process.cpp +++ b/src/msg/msg_process.cpp @@ -40,7 +40,7 @@ void MSG_process_cleanup_from_SIMIX(smx_actor_t smx_actor) simcall_process_set_data(smx_actor, nullptr); } - TRACE_msg_process_destroy(smx_actor->name.c_str(), smx_actor->pid); + TRACE_msg_process_destroy(smx_actor->name, smx_actor->pid); // free the data if a function was provided if (msg_actor && msg_actor->data && msg_global->process_data_cleanup) { msg_global->process_data_cleanup(msg_actor->data); @@ -52,7 +52,8 @@ void MSG_process_cleanup_from_SIMIX(smx_actor_t smx_actor) /* This function creates a MSG process. It has the prototype enforced by SIMIX_function_register_process_create */ smx_actor_t MSG_process_create_from_SIMIX(const char* name, std::function code, void* data, sg_host_t host, - std::map* properties, smx_actor_t parent_process) + std::map* properties, + smx_actor_t /*parent_process*/) { msg_process_t p = MSG_process_create_from_stdfunc(name, std::move(code), data, host, properties); return p == nullptr ? nullptr : p->getImpl(); @@ -213,7 +214,7 @@ void MSG_process_kill(msg_process_t process) * \param timeout wait until the process is over, or the timeout occurs */ msg_error_t MSG_process_join(msg_process_t process, double timeout){ - simcall_process_join(process->getImpl(), timeout); + process->join(timeout); return MSG_OK; } @@ -275,17 +276,12 @@ XBT_PUBLIC(void) MSG_process_set_data_cleanup(void_f_pvoid_t data_cleanup) { msg_global->process_data_cleanup = data_cleanup; } -/** \ingroup m_process_management - * \brief Return the location on which a process is running. - * \param process a process (nullptr means the current one) - * \return the msg_host_t corresponding to the location on which \a process is running. - */ msg_host_t MSG_process_get_host(msg_process_t process) { if (process == nullptr) { return SIMIX_process_self()->host; } else { - return process->getImpl()->host; + return process->getHost(); } } @@ -326,7 +322,7 @@ int MSG_process_get_number() */ msg_error_t MSG_process_set_kill_time(msg_process_t process, double kill_time) { - simcall_process_set_kill_time(process->getImpl(), kill_time); + process->setKillTime(kill_time); return MSG_OK; } @@ -341,7 +337,7 @@ int MSG_process_get_PID(msg_process_t process) * and the exceptions, so it would be called back again and again */ if (process == nullptr || process->getImpl() == nullptr) return 0; - return process->getImpl()->pid; + return process->getPid(); } /** \ingroup m_process_management @@ -352,7 +348,7 @@ int MSG_process_get_PID(msg_process_t process) */ int MSG_process_get_PPID(msg_process_t process) { - return process->getImpl()->ppid; + return process->getPpid(); } /** \ingroup m_process_management @@ -386,8 +382,7 @@ xbt_dict_t MSG_process_get_properties(msg_process_t process) { xbt_assert(process != nullptr, "Invalid parameter: First argument must not be nullptr"); xbt_dict_t as_dict = xbt_dict_new_homogeneous(xbt_free_f); - std::map* props = - simgrid::simix::kernelImmediate([process] { return process->getImpl()->getProperties(); }); + std::map* props = process->getProperties(); if (props == nullptr) return nullptr; for (auto const& elm : *props) { @@ -443,9 +438,7 @@ msg_process_t MSG_process_self() msg_error_t MSG_process_suspend(msg_process_t process) { xbt_assert(process != nullptr, "Invalid parameter: First argument must not be nullptr"); - - TRACE_msg_process_suspend(process); - simcall_process_suspend(process->getImpl()); + process->suspend(); return MSG_OK; } @@ -457,8 +450,6 @@ msg_error_t MSG_process_suspend(msg_process_t process) msg_error_t MSG_process_resume(msg_process_t process) { xbt_assert(process != nullptr, "Invalid parameter: First argument must not be nullptr"); - - TRACE_msg_process_resume(process); process->resume(); return MSG_OK; } @@ -506,7 +497,7 @@ XBT_PUBLIC(msg_process_t) MSG_process_restart(msg_process_t process) { */ XBT_PUBLIC(void) MSG_process_daemonize(msg_process_t process) { - simgrid::simix::kernelImmediate([process]() { process->getImpl()->daemonize(); }); + process->daemonize(); } /** @ingroup m_process_management