From: Martin Quinson Date: Tue, 2 Oct 2012 09:51:38 +0000 (+0200) Subject: Do not kill all processes when MSG shuts down: simix will cleanup anyway X-Git-Tag: v3_8~148 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/3a4b0619b7ea56a08980be9a7c40c9a535f82e73?hp=830b5c4bc694ade087c43f39015faa9065795630 Do not kill all processes when MSG shuts down: simix will cleanup anyway Plus, it broke Java since this function is now called using atexit(), and it seems that in Java, the thread running these functions is not maestro. So our mechanism was trying to fire a simcall from this thread, which is a Java system thread that is unknown from SimGrid. As a result, the JVM was segfaulting when exiting. --- diff --git a/src/msg/msg_global.c b/src/msg/msg_global.c index e30aa38461..9daa413d49 100644 --- a/src/msg/msg_global.c +++ b/src/msg/msg_global.c @@ -150,22 +150,14 @@ int MSG_process_killall(int reset_PIDs) } -/** \ingroup msg_simulation - * \brief Clean the MSG simulation. - * - * This function is called automatically when the system process stops, so I guess that calling it manually is useless nowadays. - */ static void MSG_exit(void) { if (msg_global==NULL) return; - XBT_DEBUG("Closing MSG"); #ifdef HAVE_TRACING TRACE_surf_release(); #endif - MSG_process_killall(0); - /* initialization of the action module */ _MSG_action_exit();