X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/d442cebf6863fc131f3fcf453039a70e6b014d11..d7f817f1d9a3b1572b38300d6a7eeadfbcc1ad1f:/src/bindings/java/jmsg.cpp diff --git a/src/bindings/java/jmsg.cpp b/src/bindings/java/jmsg.cpp index 41db649cc2..47a8e3be6f 100644 --- a/src/bindings/java/jmsg.cpp +++ b/src/bindings/java/jmsg.cpp @@ -1,7 +1,6 @@ /* Java Wrappers to the MSG API. */ -/* Copyright (c) 2007-2015. The SimGrid Team. - * All rights reserved. */ +/* Copyright (c) 2007-2017. 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. */ @@ -42,7 +41,7 @@ SG_BEGIN_DECL() int JAVA_HOST_LEVEL = -1; int JAVA_STORAGE_LEVEL = -1; -XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(jmsg); +XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(java); JavaVM *__java_vm = nullptr; @@ -53,10 +52,9 @@ JavaVM *get_java_VM() JNIEnv *get_current_thread_env() { - JNIEnv *env; - - __java_vm->AttachCurrentThread((void **) &env, nullptr); - return env; + using simgrid::kernel::context::JavaContext; + JavaContext* ctx = static_cast(xbt_os_thread_get_extra_data()); + return ctx->jenv; } void jmsg_throw_status(JNIEnv *env, msg_error_t status) { @@ -103,7 +101,7 @@ JNIEXPORT void JNICALL Java_org_simgrid_msg_Msg_init(JNIEnv * env, jclass cls, j jstring jval; const char *tmp; - XBT_LOG_CONNECT(jmsg); + XBT_LOG_CONNECT(java); XBT_LOG_CONNECT(jtrace); env->GetJavaVM(&__java_vm); @@ -187,17 +185,17 @@ JNIEXPORT void JNICALL Java_org_simgrid_msg_Msg_createEnvironment(JNIEnv * env, JNIEXPORT jobject JNICALL Java_org_simgrid_msg_Msg_environmentGetRoutingRoot(JNIEnv * env, jclass cls) { msg_netzone_t as = MSG_environment_get_routing_root(); - jobject jas = jas_new_instance(env); + jobject jas = jnetzone_new_instance(env); if (!jas) { jxbt_throw_jni(env, "java As instantiation failed"); return nullptr; } - jas = jas_ref(env, jas); + jas = jnetzone_ref(env, jas); if (!jas) { jxbt_throw_jni(env, "new global ref allocation failed"); return nullptr; } - jas_bind(jas, as, env); + jnetzone_bind(jas, as, env); return (jobject) jas; }