Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
When exiting a process, replace MSG_process_kill by smx_ctx_java_stop
authorthiery <thiery@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Thu, 24 Feb 2011 14:24:38 +0000 (14:24 +0000)
committerthiery <thiery@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Thu, 24 Feb 2011 14:24:38 +0000 (14:24 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/contrib/trunk/simgrid-java@9714 48e7efb5-ca39-0410-a469-dd3cf9ba447f

src/jmsg.c
src/smx_context_java.c
src/smx_context_java.h

index 2e8c1d5..85ba6f5 100644 (file)
@@ -840,7 +840,6 @@ JNIEXPORT void JNICALL
   jxbt_check_res("MSG_clean()", rv, MSG_OK,
                  bprintf
                  ("unexpected error : MSG_clean() failed .. please report this bug "));
-
 }
 
 JNIEXPORT jint JNICALL
@@ -875,7 +874,7 @@ Java_org_simgrid_msg_MsgNative_processExit(JNIEnv * env, jclass cls,
     return;
   }
 
-  MSG_process_kill(process);
+  smx_ctx_java_stop(MSG_process_get_smx_ctx(process));
 }
 
 JNIEXPORT void JNICALL
index cb098f8..ac2f9b6 100644 (file)
@@ -25,7 +25,6 @@ smx_ctx_java_factory_create_context(xbt_main_func_t code, int argc,
 
 static void smx_ctx_java_free(smx_context_t context);
 static void smx_ctx_java_start(smx_context_t context);
-static void smx_ctx_java_stop(smx_context_t context);
 static void smx_ctx_java_suspend(smx_context_t context);
 static void smx_ctx_java_resume(smx_context_t new_context);
 static void smx_ctx_java_runall(xbt_dynar_t processes);
@@ -103,11 +102,13 @@ static void smx_ctx_java_free(smx_context_t context)
   smx_ctx_base_free(context);
 }
 
-static void smx_ctx_java_stop(smx_context_t context)
+void smx_ctx_java_stop(smx_context_t context)
 {
   jobject jprocess = NULL;
   XBT_DEBUG("XXXX Context Stop\n");
 
+  smx_ctx_base_stop(context);
+
   smx_ctx_java_t ctx_java;
 
   ctx_java = (smx_ctx_java_t) context;
index d801dc3..b970fe0 100644 (file)
@@ -21,6 +21,7 @@ typedef struct s_smx_ctx_java {
 } s_smx_ctx_java_t, *smx_ctx_java_t;
 
 void SIMIX_ctx_java_factory_init(smx_context_factory_t *factory);
+void smx_ctx_java_stop(smx_context_t context);
 
 SG_END_DECL()