/** @brief Destroy a msg_vm_t.
* @ingroup msg_VMs
*/
-void MSG_vm_destroy(msg_vm_t vm) {
+void MSG_vm_destroy(msg_vm_t vm)
+{
+ simcall_vm_destroy(vm);
+
+#if 0
unsigned int cpt;
msg_process_t process;
xbt_dynar_foreach(vm->processes,cpt,process) {
xbt_dynar_free(&vm->processes);
xbt_free(vm);
+#endif
}
ACTION(SIMCALL_VM_CREATE, vm_create, WITH_ANSWER, TPTR(result), TSTRING(name), TSPEC(phys_host, smx_host_t)) sep \
ACTION(SIMCALL_VM_START, vm_start, WITHOUT_ANSWER, TVOID(result), TSPEC(phys_host, smx_host_t)) sep \
ACTION(SIMCALL_VM_SET_STATE, vm_set_state, WITHOUT_ANSWER, TVOID(result), TSPEC(vm, smx_host_t)) TINT(state) sep \
-ACTION(SIMCALL_VM_GET_STATE, vm_get_state, WITH_ANSWER, TINT(result)), TSPEC(vm, smx_host_t)) sep \
+ACTION(SIMCALL_VM_GET_STATE, vm_get_state, WITH_ANSWER, TINT(result), TSPEC(vm, smx_host_t)) sep \
ACTION(SIMCALL_VM_START, vm_start, WITHOUT_ANSWER, TVOID(result), TSPEC(vm, smx_host_t)) sep \
+ACTION(SIMCALL_VM_DESTROY, vm_destroy, WITHOUT_ANSWER, TVOID(result), TSPEC(vm, smx_host_t)) sep \
ACTION(SIMCALL_PROCESS_CREATE, process_create, WITH_ANSWER, TVOID(result), TSPEC(process, smx_process_t*), TSTRING(name), TSPEC(code, xbt_main_func_t), TPTR(data), TSTRING(hostname), TDOUBLE(kill_time), TINT(argc), TSPEC(argv, char**), TSPEC(properties, xbt_dict_t), TINT(auto_restart)) sep \
ACTION(SIMCALL_PROCESS_KILL, process_kill, WITH_ANSWER, TVOID(result), TSPEC(process, smx_process_t)) sep \
ACTION(SIMCALL_PROCESS_KILLALL, process_killall, WITH_ANSWER, TVOID(result)) sep \
xbt_free(workstation->generic_resource.name);
/* not defined yet, but we should have */
- // xbt_lib_unset(host_lib, name, SURF_WKS_LEVEL);
+ /* this will call surf_resource_free() */
+ xbt_lib_unset(host_lib, name, SURF_WKS_LEVEL);
xbt_free(workstation);
}