- process = MSG_process_create_with_environment(name,
- (xbt_main_func_t) jprocess,
- /*data*/ jprocess,
- host,
- /*argc, argv, properties*/
- 0,NULL,NULL);
- MSG_process_set_kill_time(process, (double)jkill);
+ msg_process_t process = MSG_process_create_with_environment(name,
+ [](int argc, char** argv) -> int {
+ // This is the jprocess passed as process data.
+ // It would be simpler if we could use a closure.
+ jobject jprocess =
+ (jobject)MSG_process_get_data(MSG_process_self());
+ simgrid::kernel::context::java_main_jprocess(jprocess);
+ return 0;
+ },
+ jprocess, host,
+ /*argc, argv, properties*/
+ 0, nullptr, nullptr);
+
+ env->ReleaseStringUTFChars(jname, name);