X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/d7f817f1d9a3b1572b38300d6a7eeadfbcc1ad1f..b8df87e176f27b25534f27d7e240defa32ca35bc:/src/bindings/java/jmsg_comm.cpp diff --git a/src/bindings/java/jmsg_comm.cpp b/src/bindings/java/jmsg_comm.cpp index 320b159fae..2781ac319d 100644 --- a/src/bindings/java/jmsg_comm.cpp +++ b/src/bindings/java/jmsg_comm.cpp @@ -1,18 +1,18 @@ /* Java bindings to the Comm API */ -/* Copyright (c) 2012-2017. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2012-2019. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ #include "jmsg_comm.h" -#include "jxbt_utilities.h" -#include "jmsg.h" +#include "jmsg.hpp" +#include "jxbt_utilities.hpp" #include -XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(java); +#include -SG_BEGIN_DECL() +XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(java); static jfieldID jcomm_field_Comm_bind; static jfieldID jcomm_field_Comm_finished; @@ -63,7 +63,7 @@ JNIEXPORT void JNICALL Java_org_simgrid_msg_Comm_nativeFinalize(JNIEnv *env, job msg_task_t *task_received; task_received = (msg_task_t*) (uintptr_t) env->GetLongField(jcomm, jcomm_field_Comm_taskBind); - xbt_free(task_received); + delete task_received; comm = (msg_comm_t) (uintptr_t) env->GetLongField(jcomm, jcomm_field_Comm_bind); MSG_comm_destroy(comm); @@ -78,8 +78,8 @@ JNIEXPORT jboolean JNICALL Java_org_simgrid_msg_Comm_test(JNIEnv *env, jobject j return JNI_TRUE; } - if (!comm) { - jxbt_throw_null(env, bprintf("comm is null")); + if (not comm) { + jxbt_throw_null(env, "comm is null"); return JNI_FALSE; } @@ -98,8 +98,8 @@ JNIEXPORT jboolean JNICALL Java_org_simgrid_msg_Comm_test(JNIEnv *env, jobject j JNIEXPORT void JNICALL Java_org_simgrid_msg_Comm_waitCompletion(JNIEnv *env, jobject jcomm, jdouble timeout) { msg_comm_t comm = (msg_comm_t) (uintptr_t) env->GetLongField(jcomm, jcomm_field_Comm_bind); - if (!comm) { - jxbt_throw_null(env, bprintf("comm is null")); + if (not comm) { + jxbt_throw_null(env, "comm is null"); return; } @@ -121,7 +121,7 @@ JNIEXPORT void JNICALL Java_org_simgrid_msg_Comm_waitCompletion(JNIEnv *env, job static msg_comm_t* jarray_to_commArray(JNIEnv *env, jobjectArray jcomms, /* OUT */ int *count) { *count = env->GetArrayLength(jcomms); - msg_comm_t* comms = xbt_new(msg_comm_t, *count); + msg_comm_t* comms = new msg_comm_t[*count]; for (int i=0; i < *count; i++) { jobject jcomm = env->GetObjectArrayElement(jcomms, i); @@ -129,8 +129,8 @@ static msg_comm_t* jarray_to_commArray(JNIEnv *env, jobjectArray jcomms, /* OUT break; comms[i] = (msg_comm_t) (uintptr_t) env->GetLongField(jcomm, jcomm_field_Comm_bind); - if (!comms[i]) { - jxbt_throw_null(env, bprintf("comm at rank %d is null", i)); + if (not comms[i]) { + jxbt_throw_null(env, std::string("comm at rank ") + std::to_string(i) + " is null"); return nullptr; } @@ -142,17 +142,17 @@ JNIEXPORT void JNICALL Java_org_simgrid_msg_Comm_waitAll(JNIEnv *env, jclass cls { int count; msg_comm_t* comms = jarray_to_commArray(env, jcomms, &count); - if (!comms) + if (not comms) return; MSG_comm_waitall(comms, count, static_cast(timeout)); - xbt_free(comms); + delete[] comms; } JNIEXPORT int JNICALL Java_org_simgrid_msg_Comm_waitAny(JNIEnv *env, jclass cls, jobjectArray jcomms) { int count; msg_comm_t* comms = jarray_to_commArray(env, jcomms, &count); - if (!comms) + if (not comms) return -1; xbt_dynar_t dyn = xbt_dynar_new(sizeof(msg_comm_t),nullptr); for (int i=0; i