From: Martin Quinson Date: Thu, 21 Apr 2016 11:00:47 +0000 (+0200) Subject: Java: simplify a bit Task.receive() X-Git-Tag: v3_13~34^2~42 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/908e2eeefa763f12e23e221072f6e481249e986f?ds=sidebyside Java: simplify a bit Task.receive() --- diff --git a/src/bindings/java/jmsg_task.cpp b/src/bindings/java/jmsg_task.cpp index 5e83bf3a2b..d904fb3910 100644 --- a/src/bindings/java/jmsg_task.cpp +++ b/src/bindings/java/jmsg_task.cpp @@ -359,13 +359,10 @@ JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_sendBounded(JNIEnv * env,jobjec JNIEXPORT jobject JNICALL Java_org_simgrid_msg_Task_receive(JNIEnv * env, jclass cls, jstring jalias, jdouble jtimeout, jobject jhost) { - msg_error_t rv; - msg_task_t *task = xbt_new(msg_task_t,1); - *task = NULL; + msg_task_t task = NULL; msg_host_t host = NULL; jobject jtask_global, jtask_local; - const char *alias; if (jhost) { host = jhost_get_native(env, jhost); @@ -376,25 +373,23 @@ JNIEXPORT jobject JNICALL Java_org_simgrid_msg_Task_receive(JNIEnv * env, jclass } } - alias = env->GetStringUTFChars(jalias, 0); - rv = MSG_task_receive_ext(task, alias, (double) jtimeout, host); + const char *alias = env->GetStringUTFChars(jalias, 0); + msg_error_t rv = MSG_task_receive_ext(&task, alias, (double) jtimeout, host); if (env->ExceptionOccurred()) return NULL; if (rv != MSG_OK) { jmsg_throw_status(env,rv); return NULL; } - jtask_global = (jobject) MSG_task_get_data(*task); + jtask_global = (jobject) MSG_task_get_data(task); /* Convert the global ref into a local ref so that the JVM can free the stuff */ jtask_local = env->NewLocalRef(jtask_global); env->DeleteGlobalRef(jtask_global); - MSG_task_set_data(*task, NULL); + MSG_task_set_data(task, NULL); env->ReleaseStringUTFChars(jalias, alias); - xbt_free(task); - return (jobject) jtask_local; }