return simcall<void, smx_actor_t, int_f_pvoid_pvoid_t, void*>(SIMCALL_PROCESS_ON_EXIT, process, fun, data);
}
-inline static smx_actor_t simcall_BODY_process_restart(smx_actor_t process) {
- /* Go to that function to follow the code flow through the simcall barrier */
- if (0) simcall_HANDLER_process_restart(&SIMIX_process_self()->simcall, process);
- return simcall<smx_actor_t, smx_actor_t>(SIMCALL_PROCESS_RESTART, process);
- }
-
inline static boost::intrusive_ptr<simgrid::kernel::activity::ActivityImpl>
simcall_BODY_comm_iprobe(smx_mailbox_t mbox, int type, simix_match_func_t match_fun, void* data)
{
comms, count);
}
-inline static smx_mutex_t simcall_BODY_mutex_init() {
- /* Go to that function to follow the code flow through the simcall barrier */
- if (0) simcall_HANDLER_mutex_init(&SIMIX_process_self()->simcall);
- return simcall<smx_mutex_t>(SIMCALL_MUTEX_INIT);
- }
-
inline static void simcall_BODY_mutex_lock(smx_mutex_t mutex) {
/* Go to that function to follow the code flow through the simcall barrier */
if (0) simcall_HANDLER_mutex_lock(&SIMIX_process_self()->simcall, mutex);
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 */