return simgrid::simix::unmarshal<R>(self->simcall.result);
}
-inline static void simcall_BODY_process_kill(smx_actor_t process) {
- /* Go to that function to follow the code flow through the simcall barrier */
- if (0) simcall_HANDLER_process_kill(&SIMIX_process_self()->simcall, process);
- return simcall<void, smx_actor_t>(SIMCALL_PROCESS_KILL, process);
- }
-
inline static void simcall_BODY_process_killall(int reset_pid) {
/* Go to that function to follow the code flow through the simcall barrier */
if (0) simcall_HANDLER_process_killall(&SIMIX_process_self()->simcall, reset_pid);
bytes_amount, rate, timeout);
}
- inline static void
- simcall_BODY_execution_cancel(boost::intrusive_ptr<simgrid::kernel::activity::ActivityImpl> execution)
- {
- /* Go to that function to follow the code flow through the simcall barrier */
- if (0) SIMIX_execution_cancel(execution);
- return simcall<void, boost::intrusive_ptr<simgrid::kernel::activity::ActivityImpl>>(SIMCALL_EXECUTION_CANCEL,
- execution);
- }
-
- inline static void
- simcall_BODY_execution_set_priority(boost::intrusive_ptr<simgrid::kernel::activity::ActivityImpl> execution,
- double priority)
- {
- /* Go to that function to follow the code flow through the simcall barrier */
- if (0) SIMIX_execution_set_priority(execution, priority);
- return simcall<void, boost::intrusive_ptr<simgrid::kernel::activity::ActivityImpl>, double>(
- SIMCALL_EXECUTION_SET_PRIORITY, execution, priority);
- }
-
- inline static void
- simcall_BODY_execution_set_bound(boost::intrusive_ptr<simgrid::kernel::activity::ActivityImpl> execution,
- double bound)
- {
- /* Go to that function to follow the code flow through the simcall barrier */
- if (0) SIMIX_execution_set_bound(execution, bound);
- return simcall<void, boost::intrusive_ptr<simgrid::kernel::activity::ActivityImpl>, double>(
- SIMCALL_EXECUTION_SET_BOUND, execution, bound);
- }
-
inline static int simcall_BODY_execution_wait(boost::intrusive_ptr<simgrid::kernel::activity::ActivityImpl> execution)
{
/* Go to that function to follow the code flow through the simcall barrier */
return simcall<int, smx_mutex_t>(SIMCALL_MUTEX_TRYLOCK, mutex);
}
+inline static void simcall_BODY_mutex_unlock(smx_mutex_t mutex) {
+ /* Go to that function to follow the code flow through the simcall barrier */
+ if (0) simcall_HANDLER_mutex_unlock(&SIMIX_process_self()->simcall, mutex);
+ return simcall<void, smx_mutex_t>(SIMCALL_MUTEX_UNLOCK, mutex);
+ }
+
inline static smx_cond_t simcall_BODY_cond_init() {
/* Go to that function to follow the code flow through the simcall barrier */
if (0) SIMIX_cond_init();
return simcall<void, smx_cond_t>(SIMCALL_COND_BROADCAST, cond);
}
-inline static smx_sem_t simcall_BODY_sem_init(unsigned int capacity) {
- /* Go to that function to follow the code flow through the simcall barrier */
- if (0) SIMIX_sem_init(capacity);
- return simcall<smx_sem_t, unsigned int>(SIMCALL_SEM_INIT, capacity);
- }
-
-inline static void simcall_BODY_sem_release(smx_sem_t sem) {
- /* Go to that function to follow the code flow through the simcall barrier */
- if (0) simcall_HANDLER_sem_release(&SIMIX_process_self()->simcall, sem);
- return simcall<void, smx_sem_t>(SIMCALL_SEM_RELEASE, sem);
- }
-
-inline static int simcall_BODY_sem_would_block(smx_sem_t sem) {
- /* Go to that function to follow the code flow through the simcall barrier */
- if (0) simcall_HANDLER_sem_would_block(&SIMIX_process_self()->simcall, sem);
- return simcall<int, smx_sem_t>(SIMCALL_SEM_WOULD_BLOCK, sem);
- }
-
inline static void simcall_BODY_sem_acquire(smx_sem_t sem) {
/* Go to that function to follow the code flow through the simcall barrier */
if (0) simcall_HANDLER_sem_acquire(&SIMIX_process_self()->simcall, sem);
return simcall<void, smx_sem_t, double>(SIMCALL_SEM_ACQUIRE_TIMEOUT, sem, timeout);
}
-inline static int simcall_BODY_sem_get_capacity(smx_sem_t sem) {
- /* Go to that function to follow the code flow through the simcall barrier */
- if (0) simcall_HANDLER_sem_get_capacity(&SIMIX_process_self()->simcall, sem);
- return simcall<int, smx_sem_t>(SIMCALL_SEM_GET_CAPACITY, sem);
- }
-
inline static sg_size_t simcall_BODY_file_read(surf_file_t fd, sg_size_t size)
{
/* Go to that function to follow the code flow through the simcall barrier */