git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@769
48e7efb5-ca39-0410-a469-
dd3cf9ba447f
m_process_t MSG_process_create_with_arguments(const char *name,
m_process_code_t code, void *data,
m_host_t host, int argc, char **argv);
m_process_t MSG_process_create_with_arguments(const char *name,
m_process_code_t code, void *data,
m_host_t host, int argc, char **argv);
+void MSG_process_free(m_process_t process);
MSG_error_t MSG_get_arguments(int *argc, char ***argv);
MSG_error_t MSG_set_arguments(m_process_t process,int argc, char *argv[]);
MSG_error_t MSG_get_arguments(int *argc, char ***argv);
MSG_error_t MSG_set_arguments(m_process_t process,int argc, char *argv[]);
{
xbt_fifo_item_t i = NULL;
m_host_t h = NULL;
{
xbt_fifo_item_t i = NULL;
m_host_t h = NULL;
+
+ while((p=xbt_fifo_shift(msg_global->process_list))) {
+ MSG_process_free(p);
+ }
xbt_context_exit();
xbt_fifo_foreach(msg_global->host,i,h,m_host_t) {
xbt_context_exit();
xbt_fifo_foreach(msg_global->host,i,h,m_host_t) {
m_process_t MSG_process_create_with_arguments(const char *name,
m_process_code_t code, void *data,
m_host_t host, int argc, char **argv)
m_process_t MSG_process_create_with_arguments(const char *name,
m_process_code_t code, void *data,
m_host_t host, int argc, char **argv)
+void MSG_process_free(m_process_t process)
+{
+ xbt_fifo_remove(msg_global->process_list,process);
+ xbt_context_free(process->simdata->context);
+ MSG_process_cleanup(process);
+}
+
/** \ingroup m_process_management
* \brief Migrates an agent to another location.
*
/** \ingroup m_process_management
* \brief Migrates an agent to another location.
*