]> AND Public Git Repository - simgrid.git/blobdiff - src/bindings/java/jmsg_task.cpp
Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
guess what? I hate our java crufty code
[simgrid.git] / src / bindings / java / jmsg_task.cpp
index f0da73932b40671052c8bc00028e30a3be63dba4..d3a98fa5e19dad7d7cffe43ba474e4b2f11421b5 100644 (file)
@@ -13,7 +13,7 @@
 #include "jmsg_process.h"
 #include "jxbt_utilities.h"
 
-XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(jmsg);
+XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(java);
 
 SG_BEGIN_DECL()
 
@@ -57,7 +57,6 @@ JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_nativeInit(JNIEnv *env, jclass
 JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_create(JNIEnv * env, jobject jtask, jstring jname,
                                       jdouble jflopsAmount, jdouble jbytesAmount)
 {
-  msg_task_t task;                /* the native task to create                            */
   const char *name = nullptr;      /* the name of the task                                 */
 
   if (jflopsAmount < 0) {
@@ -70,17 +69,14 @@ JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_create(JNIEnv * env, jobject jt
     return;
   }
 
-  if (jname) {
-    /* get the C string from the java string */
+  if (jname)
     name = env->GetStringUTFChars(jname, 0);
-  }
-
   /* create the task */
-  task = MSG_task_create(name, static_cast<double>(jflopsAmount), static_cast<double>(jbytesAmount), nullptr);
+  msg_task_t task =
+      MSG_task_create(name, static_cast<double>(jflopsAmount), static_cast<double>(jbytesAmount), nullptr);
   if (jname)
     env->ReleaseStringUTFChars(jname, name);
-  /* sets the task name */
-  env->SetObjectField(jtask, jtask_field_Task_name, jname);
+
   /* bind & store the task */
   jtask_bind(jtask, task, env);
   MSG_task_set_data(task, jtask);
@@ -370,6 +366,7 @@ JNIEXPORT jobject JNICALL Java_org_simgrid_msg_Task_receive(JNIEnv * env, jclass
 
   const char *alias = env->GetStringUTFChars(jalias, 0);
   msg_error_t rv = MSG_task_receive_ext(&task, alias, (double) jtimeout, host);
+  env->ReleaseStringUTFChars(jalias, alias);
   if (env->ExceptionOccurred())
     return nullptr;
   if (rv != MSG_OK) {
@@ -383,7 +380,6 @@ JNIEXPORT jobject JNICALL Java_org_simgrid_msg_Task_receive(JNIEnv * env, jclass
   env->DeleteGlobalRef(jtask_global);
   MSG_task_set_data(task, nullptr);
 
-  env->ReleaseStringUTFChars(jalias, alias);
 
   return (jobject) jtask_local;
 }