X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/d753114ef4b34aa83dfac6b838f3f2fa498ff6ef..6c98d311c94b09a185a36f90f7a4a56a6a70298a:/src/simix/popping_bodies.cpp diff --git a/src/simix/popping_bodies.cpp b/src/simix/popping_bodies.cpp index f3af8b79fa..356a7b7c30 100644 --- a/src/simix/popping_bodies.cpp +++ b/src/simix/popping_bodies.cpp @@ -29,42 +29,21 @@ inline static R simcall(e_smx_simcall_t call, T const&... t) { smx_actor_t self = SIMIX_process_self(); simgrid::simix::marshal(&self->simcall, call, t...); - if (self != simix_global->maestro_process) { - XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->get_cname(), SIMIX_simcall_name(self->simcall.call), - (int)self->simcall.call); + if (self != simix_global->maestro_) { + XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->get_cname(), SIMIX_simcall_name(self->simcall.call_), + (int)self->simcall.call_); self->yield(); } else { - SIMIX_simcall_handle(&self->simcall, 0); + self->simcall_handle(0); } - return simgrid::simix::unmarshal(self->simcall.result); + return simgrid::simix::unmarshal(self->simcall.result_); } -inline static void simcall_BODY_process_suspend(smx_actor_t process) +inline static int simcall_BODY_execution_wait(simgrid::kernel::activity::ExecImpl* execution, double timeout) { if (0) /* Go to that function to follow the code flow through the simcall barrier */ - simcall_HANDLER_process_suspend(&SIMIX_process_self()->simcall, process); - return simcall(SIMCALL_PROCESS_SUSPEND, process); -} - -inline static int simcall_BODY_process_join(smx_actor_t process, double timeout) -{ - if (0) /* Go to that function to follow the code flow through the simcall barrier */ - simcall_HANDLER_process_join(&SIMIX_process_self()->simcall, process, timeout); - return simcall(SIMCALL_PROCESS_JOIN, process, timeout); -} - -inline static int simcall_BODY_process_sleep(double duration) -{ - if (0) /* Go to that function to follow the code flow through the simcall barrier */ - simcall_HANDLER_process_sleep(&SIMIX_process_self()->simcall, duration); - return simcall(SIMCALL_PROCESS_SLEEP, duration); -} - -inline static int simcall_BODY_execution_wait(simgrid::kernel::activity::ExecImpl* execution) -{ - if (0) /* Go to that function to follow the code flow through the simcall barrier */ - simcall_HANDLER_execution_wait(&SIMIX_process_self()->simcall, execution); - return simcall(SIMCALL_EXECUTION_WAIT, execution); + simcall_HANDLER_execution_wait(&SIMIX_process_self()->simcall, execution, timeout); + return simcall(SIMCALL_EXECUTION_WAIT, execution, timeout); } inline static int simcall_BODY_execution_waitany_for(simgrid::kernel::activity::ExecImpl** execs, size_t count, double timeout) @@ -186,11 +165,11 @@ inline static int simcall_BODY_sem_acquire_timeout(smx_sem_t sem, double timeout return simcall(SIMCALL_SEM_ACQUIRE_TIMEOUT, sem, timeout); } -inline static sg_size_t simcall_BODY_io_wait(simgrid::kernel::activity::IoImpl* io) +inline static sg_size_t simcall_BODY_io_wait(simgrid::kernel::activity::IoImpl* io, double timeout) { if (0) /* Go to that function to follow the code flow through the simcall barrier */ - simcall_HANDLER_io_wait(&SIMIX_process_self()->simcall, io); - return simcall(SIMCALL_IO_WAIT, io); + simcall_HANDLER_io_wait(&SIMIX_process_self()->simcall, io, timeout); + return simcall(SIMCALL_IO_WAIT, io, timeout); } inline static int simcall_BODY_mc_random(int min, int max)