-/** @addtogroup m_process_management
- *
- * Processes (#msg_process_t) are independent agents that can do stuff on their own. They are in charge of executing
- * your code interacting with the simulated world.
- * A process may be defined as a <em>code</em> with some <em>private data</em>.
- * Processes must be located on <em>hosts</em> (#msg_host_t), and they exchange data by sending tasks (#msg_task_t)
- * that are similar to envelops containing data.
- */
-
-/******************************** Process ************************************/
-/**
- * \brief Cleans the MSG data of an actor
- * \param smx_actor a SIMIX actor
- */
-void MSG_process_cleanup_from_SIMIX(smx_actor_t smx_actor)
-{
- simgrid::msg::ActorExt* msg_actor;
-
- // get the MSG process from the SIMIX process
- if (smx_actor == SIMIX_process_self()) {
- /* avoid a SIMIX request if this function is called by the process itself */
- msg_actor = (simgrid::msg::ActorExt*)SIMIX_process_self_get_data();
- SIMIX_process_self_set_data(nullptr);
- } else {
- msg_actor = (simgrid::msg::ActorExt*)smx_actor->getUserData();
- simcall_process_set_data(smx_actor, nullptr);
- }
-
- if (TRACE_actor_is_enabled())
- simgrid::instr::Container::by_name(instr_pid(smx_actor->ciface()))->remove_from_parent();
-
- // 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);
- }
-
- delete msg_actor;
- SIMIX_process_cleanup(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<void()> code, void* data, sg_host_t host,
- std::map<std::string, std::string>* properties,
- smx_actor_t /*parent_process*/)