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