A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
add waitfor of Io too
[simgrid.git]
/
src
/
simix
/
popping_bodies.cpp
diff --git
a/src/simix/popping_bodies.cpp
b/src/simix/popping_bodies.cpp
index
3539455
..
356a7b7
100644
(file)
--- 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 {
self->simcall_handle(0);
}
- return simgrid::simix::unmarshal<R>(self->simcall.result);
+ return simgrid::simix::unmarshal<R>(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<void, smx_actor_t>(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<int, smx_actor_t, double>(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<int, double>(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<int, simgrid::kernel::activity::ExecImpl*>(SIMCALL_EXECUTION_WAIT, execution);
+ simcall_HANDLER_execution_wait(&SIMIX_process_self()->simcall, execution, timeout);
+ return simcall<int, simgrid::kernel::activity::ExecImpl*, double>(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<int, smx_sem_t, double>(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<sg_size_t, simgrid::kernel::activity::IoImpl*
>(SIMCALL_IO_WAIT, io
);
+ simcall_HANDLER_io_wait(&SIMIX_process_self()->simcall, io
, timeout
);
+ return simcall<sg_size_t, simgrid::kernel::activity::IoImpl*
, double>(SIMCALL_IO_WAIT, io, timeout
);
}
inline static int simcall_BODY_mc_random(int min, int max)