*/
void simcall_execution_cancel(smx_activity_t execution)
{
- simcall_BODY_execution_cancel(execution);
+ simgrid::simix::kernelImmediate([execution] {
+ XBT_DEBUG("Cancel synchro %p", execution.get());
+ simgrid::kernel::activity::ExecImplPtr exec =
+ boost::static_pointer_cast<simgrid::kernel::activity::ExecImpl>(execution);
+
+ if (exec->surf_exec)
+ exec->surf_exec->cancel();
+ });
}
/**
{
/* checking for infinite values */
xbt_assert(std::isfinite(priority), "priority is not finite!");
+ simgrid::simix::kernelImmediate([execution, priority] {
- simcall_BODY_execution_set_priority(execution, priority);
+ simgrid::kernel::activity::ExecImplPtr exec =
+ boost::static_pointer_cast<simgrid::kernel::activity::ExecImpl>(execution);
+ if (exec->surf_exec)
+ exec->surf_exec->setSharingWeight(priority);
+ });
}
/**
*/
void simcall_execution_set_bound(smx_activity_t execution, double bound)
{
- simcall_BODY_execution_set_bound(execution, bound);
+ simgrid::simix::kernelImmediate([execution, bound] {
+ simgrid::kernel::activity::ExecImplPtr exec =
+ boost::static_pointer_cast<simgrid::kernel::activity::ExecImpl>(execution);
+ if (exec->surf_exec)
+ static_cast<simgrid::surf::CpuAction*>(exec->surf_exec)->setBound(bound);
+ });
}
/**
return (e_smx_state_t) simcall_BODY_execution_wait(execution);
}
-/**
- * \ingroup simix_process_management
- * \brief Kills a SIMIX process.
- *
- * This function simply kills a process.
- *
- * \param process poor victim
- */
-void simcall_process_kill(smx_actor_t process)
-{
- simcall_BODY_process_kill(process);
-}
-
/**
* \ingroup simix_process_management
* \brief Kills all SIMIX processes.