git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@3677
48e7efb5-ca39-0410-a469-
dd3cf9ba447f
return MSG_process_create_with_arguments(name, code, data, host, -1, NULL);
}
return MSG_process_create_with_arguments(name, code, data, host, -1, NULL);
}
-static void MSG_process_cleanup(void *arg)
+void __MSG_process_cleanup(void *arg)
{
/* arg is a pointer to a simix process, we can get the msg process with the field data */
{
/* arg is a pointer to a simix process, we can get the msg process with the field data */
- m_process_t proc = ((smx_process_t)arg)->data;
- xbt_fifo_remove(msg_global->process_list, proc);
- SIMIX_process_cleanup(arg);
- free(proc->name);
- proc->name = NULL;
- free(proc->simdata);
- proc->simdata = NULL;
- free(proc);
-
- return;
+ m_process_t proc = ((smx_process_t)arg)->data;
+ xbt_fifo_remove(msg_global->process_list, proc);
+ SIMIX_process_cleanup(arg);
+ free(proc->name);
+ proc->name = NULL;
+ free(proc->simdata);
+ proc->simdata = NULL;
+ free(proc);
+
+ return;
}
/** \ingroup m_process_management
}
/** \ingroup m_process_management
simdata->argv = argv;
simdata->s_process = SIMIX_process_create(name, (smx_process_code_t)code,
(void*)process, host->name, argc, argv,
simdata->argv = argv;
simdata->s_process = SIMIX_process_create(name, (smx_process_code_t)code,
(void*)process, host->name, argc, argv,
+ __MSG_process_cleanup );
if (SIMIX_process_self()) {
simdata->PPID = MSG_process_get_PID(SIMIX_process_self()->data);
if (SIMIX_process_self()) {
simdata->PPID = MSG_process_get_PID(SIMIX_process_self()->data);
void __MSG_display_process_status(void);
void __MSG_display_process_status(void);
+void __MSG_process_cleanup(void *arg);
m_process_t __MSG_process_create_with_arguments(const char *name,
m_process_code_t code, void *data,
char * hostname, int argc, char **argv);
m_process_t __MSG_process_create_with_arguments(const char *name,
m_process_code_t code, void *data,
char * hostname, int argc, char **argv);