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
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);
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;
return JNI_FALSE;
}
}
- CATCH_ANONYMOUS {
-
+ CATCH(e) {
+ xbt_ex_free(e);
}
+
return JNI_FALSE;
}
JNIEXPORT void JNICALL
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) {