+/** \ingroup m_process_management
+ * \brief Creates and runs a new #m_process_t.
+ *
+ * Does exactly the same as #MSG_process_create_with_arguments but without
+ providing standard arguments (\a argc, \a argv, \a start_time, \a kill_time).
+ * \sa MSG_process_create_with_arguments
+ */
+m_process_t MSG_process_create(const char *name,
+ m_process_code_t code, void *data,
+ m_host_t host)
+{
+ return MSG_process_create_with_arguments(name, code, data, host, -1, NULL);
+}
+
+static void MSG_process_cleanup(void *arg)
+{
+
+ while(((m_process_t)arg)->simdata->paje_state) {
+ PAJE_PROCESS_POP_STATE((m_process_t)arg);
+ }
+
+ PAJE_PROCESS_FREE(arg);
+
+ xbt_fifo_remove(msg_global->process_list, arg);
+ xbt_fifo_remove(msg_global->process_to_run, arg);
+ xbt_fifo_remove(((m_process_t) arg)->simdata->host->simdata->process_list, arg);
+ free(((m_process_t) arg)->name);
+ free(((m_process_t) arg)->simdata);
+ free(arg);
+}
+