X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/c5b66507bed01d07f72d09e96250a1cdfeaa90a4..b51da37243dc16575499f4cb7729fe8bdd7fa514:/src/simix/popping_bodies.cpp diff --git a/src/simix/popping_bodies.cpp b/src/simix/popping_bodies.cpp index 74b4dcfec0..191080887b 100644 --- a/src/simix/popping_bodies.cpp +++ b/src/simix/popping_bodies.cpp @@ -221,10 +221,10 @@ inline static smx_synchro_t simcall_BODY_comm_irecv(smx_process_t receiver, smx_ return simcall(SIMCALL_COMM_IRECV, receiver, mbox, dst_buff, dst_buff_size, match_fun, copy_data_fun, data, rate); } -inline static int simcall_BODY_comm_waitany(xbt_dynar_t comms) { +inline static int simcall_BODY_comm_waitany(xbt_dynar_t comms, double timeout) { /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_comm_waitany(&SIMIX_process_self()->simcall, comms); - return simcall(SIMCALL_COMM_WAITANY, comms); + if (0) simcall_HANDLER_comm_waitany(&SIMIX_process_self()->simcall, comms, timeout); + return simcall(SIMCALL_COMM_WAITANY, comms, timeout); } inline static void simcall_BODY_comm_wait(smx_synchro_t comm, double timeout) { @@ -239,10 +239,10 @@ inline static int simcall_BODY_comm_test(smx_synchro_t comm) { return simcall(SIMCALL_COMM_TEST, comm); } -inline static int simcall_BODY_comm_testany(xbt_dynar_t comms) { +inline static int simcall_BODY_comm_testany(smx_synchro_t* comms, size_t count) { /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_comm_testany(&SIMIX_process_self()->simcall, comms); - return simcall(SIMCALL_COMM_TESTANY, comms); + if (0) simcall_HANDLER_comm_testany(&SIMIX_process_self()->simcall, comms, count); + return simcall(SIMCALL_COMM_TESTANY, comms, count); } inline static smx_mutex_t simcall_BODY_mutex_init() { @@ -441,4 +441,10 @@ inline static void simcall_BODY_run_kernel(std::function const* code) { /* Go to that function to follow the code flow through the simcall barrier */ if (0) SIMIX_run_kernel(code); return simcall const*>(SIMCALL_RUN_KERNEL, code); + } + +inline static void simcall_BODY_run_blocking(std::function const* code) { + /* Go to that function to follow the code flow through the simcall barrier */ + if (0) SIMIX_run_blocking(code); + return simcall const*>(SIMCALL_RUN_BLOCKING, code); }/** @endcond */