simdata->PPID = -1;
}
+#ifdef HAVE_TRACING
+ TRACE_msg_process_create(name, simdata->PID, simdata->m_host);
+#endif
+
/* Let's create the process: SIMIX may decide to start it right now,
* even before returning the flow control to us */
SIMIX_req_process_create(&process, name, code, simdata, host->name,
argc, argv, properties);
-#ifdef HAVE_TRACING
- TRACE_msg_process_create(process);
-#endif
-
if (!process) {
/* Undo everything we have just changed */
msg_global->PID--;
* This function checks whether \a process and \a host are valid pointers
and change the value of the #m_host_t on which \a process is running.
*/
-MSG_error_t MSG_process_change_host(m_host_t host)
+MSG_error_t MSG_process_migrate(m_process_t process, m_host_t host)
{
- m_process_t process = MSG_process_self();
- simdata_process_t simdata = SIMIX_process_self_get_data();
- m_host_t now = simdata->m_host;
+ simdata_process_t simdata = SIMIX_req_process_get_data(process);
simdata->m_host = host;
#ifdef HAVE_TRACING
+ m_host_t now = simdata->m_host;
TRACE_msg_process_change_host(process, now, host);
#endif
- SIMIX_req_process_change_host(process, now->name, host->name);
+ SIMIX_req_process_change_host(process, host->simdata->smx_host);
return MSG_OK;
}