}
}
-void simcall_HANDLER_process_resume(smx_simcall_t simcall, smx_actor_t process){
- SIMIX_process_resume(process);
-}
-
void SIMIX_process_resume(smx_actor_t process)
{
XBT_IN("process = %p", process);
/* The prototype of all simcall handlers, automatically generated for you */
XBT_PRIVATE void simcall_HANDLER_vm_suspend(smx_simcall_t simcall, sg_host_t ind_vm);
-XBT_PRIVATE void simcall_HANDLER_vm_resume(smx_simcall_t simcall, sg_host_t ind_vm);
XBT_PRIVATE void simcall_HANDLER_vm_shutdown(smx_simcall_t simcall, sg_host_t ind_vm);
XBT_PRIVATE void simcall_HANDLER_vm_save(smx_simcall_t simcall, sg_host_t ind_vm);
-XBT_PRIVATE void simcall_HANDLER_vm_restore(smx_simcall_t simcall, sg_host_t ind_vm);
XBT_PRIVATE void simcall_HANDLER_process_kill(smx_simcall_t simcall, smx_actor_t process);
XBT_PRIVATE void simcall_HANDLER_process_killall(smx_simcall_t simcall, int reset_pid);
XBT_PRIVATE void simcall_HANDLER_process_suspend(smx_simcall_t simcall, smx_actor_t process);
-XBT_PRIVATE void simcall_HANDLER_process_resume(smx_simcall_t simcall, smx_actor_t process);
XBT_PRIVATE void simcall_HANDLER_process_set_host(smx_simcall_t simcall, smx_actor_t process, sg_host_t dest);
XBT_PRIVATE void simcall_HANDLER_process_join(smx_simcall_t simcall, smx_actor_t process, double timeout);
XBT_PRIVATE void simcall_HANDLER_process_sleep(smx_simcall_t simcall, double duration);
inline static void simcall_BODY_vm_resume(sg_host_t ind_vm) {
/* Go to that function to follow the code flow through the simcall barrier */
- if (0) simcall_HANDLER_vm_resume(&SIMIX_process_self()->simcall, ind_vm);
+ if (0)
+ SIMIX_vm_resume(ind_vm);
return simcall<void, sg_host_t>(SIMCALL_VM_RESUME, ind_vm);
}
inline static void simcall_BODY_vm_restore(sg_host_t ind_vm) {
/* Go to that function to follow the code flow through the simcall barrier */
- if (0) simcall_HANDLER_vm_restore(&SIMIX_process_self()->simcall, ind_vm);
+ if (0)
+ SIMIX_vm_restore(ind_vm);
return simcall<void, sg_host_t>(SIMCALL_VM_RESTORE, ind_vm);
}
inline static void simcall_BODY_process_resume(smx_actor_t process) {
/* Go to that function to follow the code flow through the simcall barrier */
- if (0) simcall_HANDLER_process_resume(&SIMIX_process_self()->simcall, process);
+ if (0)
+ SIMIX_process_resume(process);
return simcall<void, smx_actor_t>(SIMCALL_PROCESS_RESUME, process);
}
break;
case SIMCALL_VM_RESUME:
- simcall_HANDLER_vm_resume(simcall, simgrid::simix::unmarshal<sg_host_t>(simcall->args[0]));
- SIMIX_simcall_answer(simcall);
- break;
+ SIMIX_vm_resume(simgrid::simix::unmarshal<sg_host_t>(simcall->args[0]));
+ SIMIX_simcall_answer(simcall);
+ break;
case SIMCALL_VM_SHUTDOWN:
simcall_HANDLER_vm_shutdown(simcall, simgrid::simix::unmarshal<sg_host_t>(simcall->args[0]));
break;
case SIMCALL_VM_RESTORE:
- simcall_HANDLER_vm_restore(simcall, simgrid::simix::unmarshal<sg_host_t>(simcall->args[0]));
- SIMIX_simcall_answer(simcall);
- break;
+ SIMIX_vm_restore(simgrid::simix::unmarshal<sg_host_t>(simcall->args[0]));
+ SIMIX_simcall_answer(simcall);
+ break;
case SIMCALL_PROCESS_KILL:
simcall_HANDLER_process_kill(simcall, simgrid::simix::unmarshal<smx_actor_t>(simcall->args[0]));
break;
case SIMCALL_PROCESS_RESUME:
- simcall_HANDLER_process_resume(simcall, simgrid::simix::unmarshal<smx_actor_t>(simcall->args[0]));
- SIMIX_simcall_answer(simcall);
- break;
+ SIMIX_process_resume(simgrid::simix::unmarshal<smx_actor_t>(simcall->args[0]));
+ SIMIX_simcall_answer(simcall);
+ break;
case SIMCALL_PROCESS_SET_HOST:
simcall_HANDLER_process_set_host(simcall, simgrid::simix::unmarshal<smx_actor_t>(simcall->args[0]), simgrid::simix::unmarshal<sg_host_t>(simcall->args[1]));
# compilation time)
void vm_suspend(sg_host_t ind_vm);
-void vm_resume(sg_host_t ind_vm);
+void vm_resume(sg_host_t ind_vm) [[nohandler]];
void vm_shutdown(sg_host_t ind_vm);
void vm_save(sg_host_t ind_vm);
-void vm_restore(sg_host_t ind_vm);
+void vm_restore(sg_host_t ind_vm) [[nohandler]];
void process_kill(smx_actor_t process);
void process_killall(int reset_pid);
void process_cleanup(smx_actor_t process) [[nohandler]];
void process_suspend(smx_actor_t process) [[block]];
-void process_resume(smx_actor_t process);
+void process_resume(smx_actor_t process) [[nohandler]];
void process_set_host(smx_actor_t process, sg_host_t dest);
int process_is_suspended(smx_actor_t process) [[nohandler]];
int process_join(smx_actor_t process, double timeout) [[block]];
/* vm related stuff */
XBT_PRIVATE void SIMIX_vm_destroy(sg_host_t ind_vm);
// --
-XBT_PRIVATE void SIMIX_vm_resume(sg_host_t ind_vm, smx_actor_t issuer);
+XBT_PRIVATE void SIMIX_vm_resume(sg_host_t ind_vm);
XBT_PRIVATE void SIMIX_vm_suspend(sg_host_t ind_vm, smx_actor_t issuer);
// --
SIMIX_vm_migrate(vm, dst_pm);
/* Resume the VM */
- smx_actor_t self = SIMIX_process_self();
- SIMIX_vm_resume(vm, self);
+ SIMIX_vm_resume(vm);
}
/**
*
* @param vm the vm host to resume (a sg_host_t)
*/
-void SIMIX_vm_resume(sg_host_t vm, smx_actor_t issuer)
+void SIMIX_vm_resume(sg_host_t vm)
{
if (SIMIX_vm_get_state(vm) != SURF_VM_STATE_SUSPENDED)
THROWF(vm_error, 0, "VM(%s) was not suspended", vm->name().c_str());
}
}
-void simcall_HANDLER_vm_resume(smx_simcall_t simcall, sg_host_t vm)
-{
- SIMIX_vm_resume(vm, simcall->issuer);
-}
-
-
/**
* @brief Function to save a SIMIX VM host.
* This function is the same as vm_suspend, but the state of the VM is saved to the disk, and not preserved on memory.
}
}
-void simcall_HANDLER_vm_restore(smx_simcall_t simcall, sg_host_t vm)
-{
- SIMIX_vm_restore(vm);
-}
-
-
/**
* @brief Function to shutdown a SIMIX VM host. This function powers off the
* VM. All the processes on this VM will be killed. But, the state of the VM is