X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/98396443387ae00843fed844b16cc5a88bd018bc..9a8394275cc43d5fbaf74bbfc0d87fb2862f766b:/src/jmsg_comm.c diff --git a/src/jmsg_comm.c b/src/jmsg_comm.c index 8c3d65c1cf..8fcd7aca1a 100644 --- a/src/jmsg_comm.c +++ b/src/jmsg_comm.c @@ -20,7 +20,7 @@ void jcomm_bind_task(JNIEnv *env, jobject jcomm) { jboolean jreceiving = (*env)->GetBooleanField(env, jcomm, jcomm_field_Comm_receiving); if (jreceiving == JNI_TRUE) { //bind the task object. - m_task_t task = MSG_comm_get_task(comm); + msg_task_t task = MSG_comm_get_task(comm); xbt_assert(task != NULL, "Task is NULL"); jobject jtask_global = MSG_task_get_data(task); //case where the data has already been retrieved @@ -59,9 +59,9 @@ Java_org_simgrid_msg_Comm_nativeInit(JNIEnv *env, jclass cls) { JNIEXPORT void JNICALL Java_org_simgrid_msg_Comm_destroy(JNIEnv *env, jobject jcomm) { msg_comm_t comm; - m_task_t *task_received; + msg_task_t *task_received; - task_received = (m_task_t*) (long) (*env)->GetLongField(env, jcomm, jcomm_field_Comm_taskBind); + task_received = (msg_task_t*) (long) (*env)->GetLongField(env, jcomm, jcomm_field_Comm_taskBind); xbt_free(task_received); comm = (msg_comm_t) (long) (*env)->GetLongField(env, jcomm, jcomm_field_Comm_bind); @@ -82,9 +82,10 @@ Java_org_simgrid_msg_Comm_test(JNIEnv *env, jobject jcomm) { jxbt_throw_native(env,bprintf("comm is null")); return JNI_FALSE; } + xbt_ex_t e; TRY { if (MSG_comm_test(comm)) { - MSG_error_t status = MSG_comm_get_status(comm); + msg_error_t status = MSG_comm_get_status(comm); if (status == MSG_OK) { jcomm_bind_task(env,jcomm); return JNI_TRUE; @@ -99,9 +100,10 @@ Java_org_simgrid_msg_Comm_test(JNIEnv *env, jobject jcomm) { return JNI_FALSE; } } - CATCH_ANONYMOUS { - + CATCH(e) { + xbt_ex_free(e); } + return JNI_FALSE; } JNIEXPORT void JNICALL @@ -117,12 +119,13 @@ Java_org_simgrid_msg_Comm_waitCompletion(JNIEnv *env, jobject jcomm, jdouble tim return; } - MSG_error_t status; + msg_error_t status; + xbt_ex_t e; TRY { status = MSG_comm_wait(comm,(double)timeout); } - CATCH_ANONYMOUS { - return; + CATCH(e) { + xbt_ex_free(e); } (*env)->SetBooleanField(env, jcomm, jcomm_field_Comm_finished, JNI_TRUE); if (status == MSG_OK) {