X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/c5b66507bed01d07f72d09e96250a1cdfeaa90a4..b51da37243dc16575499f4cb7729fe8bdd7fa514:/src/simix/popping_accessors.h diff --git a/src/simix/popping_accessors.h b/src/simix/popping_accessors.h index 5e913d9bf4..dede08b530 100644 --- a/src/simix/popping_accessors.h +++ b/src/simix/popping_accessors.h @@ -657,6 +657,12 @@ static inline xbt_dynar_t simcall_comm_waitany__get__comms(smx_simcall_t simcall static inline void simcall_comm_waitany__set__comms(smx_simcall_t simcall, xbt_dynar_t arg) { simgrid::simix::marshal(simcall->args[0], arg); } +static inline double simcall_comm_waitany__get__timeout(smx_simcall_t simcall) { + return simgrid::simix::unmarshal(simcall->args[1]); +} +static inline void simcall_comm_waitany__set__timeout(smx_simcall_t simcall, double arg) { + simgrid::simix::marshal(simcall->args[1], arg); +} static inline int simcall_comm_waitany__get__result(smx_simcall_t simcall){ return simgrid::simix::unmarshal(simcall->result); } @@ -690,11 +696,17 @@ static inline void simcall_comm_test__set__result(smx_simcall_t simcall, int res simgrid::simix::marshal(simcall->result, result); } -static inline xbt_dynar_t simcall_comm_testany__get__comms(smx_simcall_t simcall) { - return simgrid::simix::unmarshal(simcall->args[0]); +static inline smx_synchro_t* simcall_comm_testany__get__comms(smx_simcall_t simcall) { + return simgrid::simix::unmarshal(simcall->args[0]); } -static inline void simcall_comm_testany__set__comms(smx_simcall_t simcall, xbt_dynar_t arg) { - simgrid::simix::marshal(simcall->args[0], arg); +static inline void simcall_comm_testany__set__comms(smx_simcall_t simcall, smx_synchro_t* arg) { + simgrid::simix::marshal(simcall->args[0], arg); +} +static inline size_t simcall_comm_testany__get__count(smx_simcall_t simcall) { + return simgrid::simix::unmarshal(simcall->args[1]); +} +static inline void simcall_comm_testany__set__count(smx_simcall_t simcall, size_t arg) { + simgrid::simix::marshal(simcall->args[1], arg); } static inline int simcall_comm_testany__get__result(smx_simcall_t simcall){ return simgrid::simix::unmarshal(simcall->result); @@ -1150,6 +1162,13 @@ static inline void simcall_run_kernel__set__code(smx_simcall_t simcall, std::fun simgrid::simix::marshal const*>(simcall->args[0], arg); } +static inline std::function const* simcall_run_blocking__get__code(smx_simcall_t simcall) { + return simgrid::simix::unmarshal const*>(simcall->args[0]); +} +static inline void simcall_run_blocking__set__code(smx_simcall_t simcall, std::function const* arg) { + simgrid::simix::marshal const*>(simcall->args[0], arg); +} + /* The prototype of all simcall handlers, automatically generated for you */ XBT_PRIVATE void simcall_HANDLER_vm_suspend(smx_simcall_t simcall, sg_host_t ind_vm); @@ -1172,10 +1191,10 @@ XBT_PRIVATE void simcall_HANDLER_comm_send(smx_simcall_t simcall, smx_process_t XBT_PRIVATE smx_synchro_t simcall_HANDLER_comm_isend(smx_simcall_t simcall, smx_process_t sender, smx_mailbox_t mbox, double task_size, double rate, void* src_buff, size_t src_buff_size, simix_match_func_t match_fun, simix_clean_func_t clean_fun, simix_copy_data_func_t copy_data_fun, void* data, int detached); XBT_PRIVATE void simcall_HANDLER_comm_recv(smx_simcall_t simcall, smx_process_t receiver, smx_mailbox_t mbox, void* dst_buff, size_t* dst_buff_size, simix_match_func_t match_fun, simix_copy_data_func_t copy_data_fun, void* data, double timeout, double rate); XBT_PRIVATE smx_synchro_t simcall_HANDLER_comm_irecv(smx_simcall_t simcall, smx_process_t receiver, smx_mailbox_t mbox, void* dst_buff, size_t* dst_buff_size, simix_match_func_t match_fun, simix_copy_data_func_t copy_data_fun, void* data, double rate); -XBT_PRIVATE void simcall_HANDLER_comm_waitany(smx_simcall_t simcall, xbt_dynar_t comms); +XBT_PRIVATE void simcall_HANDLER_comm_waitany(smx_simcall_t simcall, xbt_dynar_t comms, double timeout); XBT_PRIVATE void simcall_HANDLER_comm_wait(smx_simcall_t simcall, smx_synchro_t comm, double timeout); XBT_PRIVATE void simcall_HANDLER_comm_test(smx_simcall_t simcall, smx_synchro_t comm); -XBT_PRIVATE void simcall_HANDLER_comm_testany(smx_simcall_t simcall, xbt_dynar_t comms); +XBT_PRIVATE void simcall_HANDLER_comm_testany(smx_simcall_t simcall, smx_synchro_t* comms, size_t count); XBT_PRIVATE smx_mutex_t simcall_HANDLER_mutex_init(smx_simcall_t simcall); XBT_PRIVATE void simcall_HANDLER_mutex_lock(smx_simcall_t simcall, smx_mutex_t mutex); XBT_PRIVATE int simcall_HANDLER_mutex_trylock(smx_simcall_t simcall, smx_mutex_t mutex);