X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/2959d30f87f56782d55ac870cd66b0f622a2925c..dbd4339eb579bb74a97c193fe63a153eedb98c51:/src/jmsg.c diff --git a/src/jmsg.c b/src/jmsg.c index 30b5c2a61a..fcc8f19857 100644 --- a/src/jmsg.c +++ b/src/jmsg.c @@ -104,10 +104,9 @@ Java_org_simgrid_msg_MsgNative_processCreate(JNIEnv * env, jclass cls, MSG_process_set_data(process,&process); /* release our reference to the process name (variable name becomes invalid) */ - (*env)->ReleaseStringUTFChars(env, jname, name); + //FIXME : This line should be uncommented but with mac it doesn't work. BIG WARNING + //(*env)->ReleaseStringUTFChars(env, jname, name); - - /* bind the java process instance to the native process */ jprocess_bind(jprocess, process, env); @@ -177,9 +176,6 @@ Java_org_simgrid_msg_MsgNative_processKill(JNIEnv * env, jclass cls, return; } - /* delete the global reference */ - jprocess_delete_global_ref(native_to_java_process(process), env); - /* kill the native process (this wrapper is call by the destructor of the java * process instance) */ @@ -726,13 +722,11 @@ Java_org_simgrid_msg_MsgNative_taskDestroy(JNIEnv * env, jclass cls, /* get the native task */ m_task_t task = jtask_to_native_task(jtask_arg, env); - jobject jtask; if (!task) { jxbt_throw_notbound(env, "task", task); return; } - jtask = (jobject) MSG_task_get_data(task); MSG_error_t rv = MSG_task_destroy(task); @@ -754,7 +748,7 @@ Java_org_simgrid_msg_MsgNative_taskExecute(JNIEnv * env, jclass cls, MSG_error_t rv = MSG_task_execute(task); jxbt_check_res("MSG_task_execute()", rv, - MSG_HOST_FAILURE | MSG_TASK_CANCELLED, + MSG_HOST_FAILURE | MSG_TASK_CANCELED, bprintf("while executing task %s", MSG_task_get_name(task))); } @@ -798,7 +792,6 @@ Java_org_simgrid_msg_Msg_init(JNIEnv * env, jclass cls, jobjectArray jargs) jval = (jstring) (*env)->GetObjectArrayElement(env, jargs, index); tmp = (*env)->GetStringUTFChars(env, jval, 0); argv[index + 1] = strdup(tmp); - //argv[index] = strdup(tmp); (*env)->ReleaseStringUTFChars(env, jval, tmp); } @@ -816,7 +809,7 @@ JNIEXPORT void JNICALL JNICALL Java_org_simgrid_msg_Msg_run(JNIEnv * env, jclass cls) { MSG_error_t rv; - int index; //xbt_fifo_item_t item = NULL; + int index; m_host_t *hosts; jobject jhost; @@ -841,13 +834,17 @@ JNIEXPORT void JNICALL } XBT_INFO("Clean native world"); - /* cleanup native stuff */ - rv = MSG_OK != MSG_clean(); +} +JNIEXPORT void JNICALL + JNICALL Java_org_simgrid_msg_Msg_clean(JNIEnv * env, jclass cls) +{ + /* cleanup native stuff. Calling it is ... useless since leaking memory at the end of the simulation is a non-issue */ + MSG_error_t rv = MSG_OK != MSG_clean(); jxbt_check_res("MSG_clean()", rv, MSG_OK, bprintf ("unexpected error : MSG_clean() failed .. please report this bug ")); } - + JNIEXPORT jint JNICALL Java_org_simgrid_msg_MsgNative_processKillAll(JNIEnv * env, jclass cls, jint jresetPID)