From: mquinson Date: Sun, 8 Jul 2007 18:02:31 +0000 (+0000) Subject: Allow java to call __MSG_process_cleanup X-Git-Tag: v3.3~1683 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/b246b51c247059cf38dd9f95a7558297787c8e87 Allow java to call __MSG_process_cleanup git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@3677 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- diff --git a/src/msg/m_process.c b/src/msg/m_process.c index c75adcc6b5..b53bb5ad13 100644 --- a/src/msg/m_process.c +++ b/src/msg/m_process.c @@ -42,19 +42,19 @@ m_process_t MSG_process_create(const char *name, 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 */ - 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 @@ -108,7 +108,7 @@ m_process_t MSG_process_create_with_arguments(const char *name, simdata->argv = argv; simdata->s_process = SIMIX_process_create(name, (smx_process_code_t)code, (void*)process, host->name, argc, argv, - MSG_process_cleanup ); + __MSG_process_cleanup ); if (SIMIX_process_self()) { simdata->PPID = MSG_process_get_PID(SIMIX_process_self()->data); diff --git a/src/msg/private.h b/src/msg/private.h index 80ac9e2bfa..98cd856fe9 100644 --- a/src/msg/private.h +++ b/src/msg/private.h @@ -104,6 +104,7 @@ void __MSG_host_destroy(m_host_t host); 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);