SG_BEGIN_DECL()
int JAVA_HOST_LEVEL = -1;
-int JAVA_STORAGE_LEVEL = -1;
XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(java);
MSG_init(&argc, argv);
JAVA_HOST_LEVEL = simgrid::s4u::Host::extension_create(__JAVA_host_priv_free);
- JAVA_STORAGE_LEVEL = xbt_lib_add_level(storage_lib, __JAVA_storage_priv_free);
for (index = 0; index < argc - 1; index++) {
env->SetObjectArrayElement(jargs, index, (jstring)env->NewStringUTF(argv[index + 1]));
xbt_dynar_free(&hosts);
/* Cleanup java storages */
- xbt_dynar_t storages = MSG_storages_as_dynar();
- if(!xbt_dynar_is_empty(storages)){
- for (unsigned long index = 0; index < xbt_dynar_length(storages) - 1; index++) {
- jobject jstorage = (jobject) xbt_lib_get_level(xbt_dynar_get_as(storages,index,msg_storage_t), JAVA_STORAGE_LEVEL);
- if (jstorage)
- jstorage_unref(env, jstorage);
- }
- }
- xbt_dynar_free(&storages);
+ for (auto elm : java_storage_map)
+ jstorage_unref(env, elm.second);
}
JNIEXPORT void JNICALL Java_org_simgrid_msg_Msg_createEnvironment(JNIEnv * env, jclass cls, jstring jplatformFile)