-JNIEXPORT void JNICALL
-Java_org_simgrid_msg_VM_internalmig(JNIEnv *env, jobject jvm, jobject jhost) {
- msg_vm_t vm = jvm_get_native(env,jvm);
- msg_host_t host = jhost_get_native(env, jhost);
- xbt_ex_t e;
- TRY{
- MSG_vm_migrate(vm,host);
- } CATCH(e){
- XBT_INFO("CATCH EXCEPTION MIGRATION %s",e.msg);
- xbt_ex_free(e);
- jxbt_throw_host_failure(env, (char*)"during migration");
- }
-}
-
-JNIEXPORT void JNICALL
-Java_org_simgrid_msg_VM_suspend(JNIEnv *env, jobject jvm) {
- msg_vm_t vm = jvm_get_native(env,jvm);
- MSG_vm_suspend(vm);
-}
-JNIEXPORT void JNICALL
-Java_org_simgrid_msg_VM_resume(JNIEnv *env, jobject jvm) {
- msg_vm_t vm = jvm_get_native(env,jvm);
- MSG_vm_resume(vm);
+JNIEXPORT void JNICALL Java_org_simgrid_msg_VM_destroy(JNIEnv* env, jobject jvm)
+{
+ msg_vm_t vm = jvm_get_native(env, jvm);
+ if (vm) {
+ MSG_vm_destroy(vm);
+ auto* vmList = &simgrid::vm::VirtualMachineImpl::allVms_;
+ vmList->erase(std::remove(vmList->begin(), vmList->end(), vm), vmList->end());
+ }