X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/9104957deccc59e0e804215d5db498fabfd40d29..b23e21f8228228b65702ca054fccf092b73e8aab:/src/simix/libsmx.cpp diff --git a/src/simix/libsmx.cpp b/src/simix/libsmx.cpp index 2a16bc5db0..8d915db35b 100644 --- a/src/simix/libsmx.cpp +++ b/src/simix/libsmx.cpp @@ -29,15 +29,32 @@ * * @param execution The execution synchro */ -e_smx_state_t simcall_execution_wait(simgrid::kernel::activity::ActivityImpl* execution, double timeout) +simgrid::kernel::activity::State simcall_execution_wait(simgrid::kernel::activity::ActivityImpl* execution, + double timeout) // XBT_ATTRIB_DEPRECATED_v330 { - return (e_smx_state_t)simcall_BODY_execution_wait(static_cast(execution), - timeout); + simgrid::kernel::actor::ActorImpl* issuer = simgrid::kernel::actor::ActorImpl::self(); + simgrid::kernel::actor::simcall_blocking( + [execution, issuer, timeout] { execution->wait_for(issuer, timeout); }); + return simgrid::kernel::activity::State::DONE; +} + +simgrid::kernel::activity::State simcall_execution_wait(const simgrid::kernel::activity::ActivityImplPtr& execution, + double timeout) // XBT_ATTRIB_DEPRECATED_v330 +{ + simgrid::kernel::actor::ActorImpl* issuer = simgrid::kernel::actor::ActorImpl::self(); + simgrid::kernel::actor::simcall_blocking( + [execution, issuer, timeout] { execution->wait_for(issuer, timeout); }); + return simgrid::kernel::activity::State::DONE; +} + +bool simcall_execution_test(simgrid::kernel::activity::ActivityImpl* execution) // XBT_ATTRIB_DEPRECATED_v330 +{ + return simgrid::kernel::actor::simcall([execution] { return execution->test(); }); } -bool simcall_execution_test(simgrid::kernel::activity::ActivityImpl* execution) +bool simcall_execution_test(const simgrid::kernel::activity::ActivityImplPtr& execution) // XBT_ATTRIB_DEPRECATED_v330 { - return simcall_BODY_execution_test(static_cast(execution)); + return simgrid::kernel::actor::simcall([execution] { return execution->test(); }); } unsigned int simcall_execution_waitany_for(simgrid::kernel::activity::ExecImpl* execs[], size_t count, double timeout) @@ -55,7 +72,7 @@ void simcall_process_suspend(smx_actor_t process) // XBT_DEPRECATED_v328 process->iface()->suspend(); } -e_smx_state_t simcall_process_sleep(double duration) // XBT_DEPRECATED_v329 +simgrid::kernel::activity::State simcall_process_sleep(double duration) // XBT_ATTRIB_DEPRECATED_v329 { simgrid::kernel::actor::ActorImpl::self()->sleep(duration); return simgrid::kernel::activity::State::DONE; @@ -154,7 +171,7 @@ simcall_comm_irecv(smx_actor_t receiver, smx_mailbox_t mbox, void* dst_buff, siz */ simgrid::kernel::activity::ActivityImplPtr simcall_comm_iprobe(smx_mailbox_t mbox, int type, bool (*match_fun)(void*, void*, simgrid::kernel::activity::CommImpl*), - void* data) + void* data) // XBT_ATTRIB_DEPRECATED_v330 { xbt_assert(mbox, "No rendez-vous point defined for iprobe"); @@ -222,7 +239,7 @@ bool simcall_comm_test(simgrid::kernel::activity::ActivityImpl* comm) * @ingroup simix_synchro_management * */ -smx_mutex_t simcall_mutex_init() +smx_mutex_t simcall_mutex_init() // XBT_ATTRIB_DEPRECATED_v330 { if (simix_global == nullptr) { fprintf(stderr, "You must initialize the SimGrid engine before using it\n"); // We can't use xbt_die since we may @@ -263,7 +280,7 @@ void simcall_mutex_unlock(smx_mutex_t mutex) * @ingroup simix_synchro_management * */ -smx_cond_t simcall_cond_init() +smx_cond_t simcall_cond_init() // XBT_ATTRIB_DEPRECATED_v330 { return simgrid::kernel::actor::simcall([] { return new simgrid::kernel::activity::ConditionVariableImpl(); }); } @@ -306,14 +323,30 @@ int simcall_sem_acquire_timeout(smx_sem_t sem, double timeout) return simcall_BODY_sem_acquire_timeout(sem, timeout); } -e_smx_state_t simcall_io_wait(simgrid::kernel::activity::ActivityImpl* io, double timeout) +simgrid::kernel::activity::State simcall_io_wait(simgrid::kernel::activity::ActivityImpl* io, + double timeout) // XBT_ATTRIB_DEPRECATED_v330 +{ + simgrid::kernel::actor::ActorImpl* issuer = simgrid::kernel::actor::ActorImpl::self(); + simgrid::kernel::actor::simcall_blocking([io, issuer, timeout] { io->wait_for(issuer, timeout); }); + return simgrid::kernel::activity::State::DONE; +} + +simgrid::kernel::activity::State simcall_io_wait(const simgrid::kernel::activity::ActivityImplPtr& io, + double timeout) // XBT_ATTRIB_DEPRECATED_v330 +{ + simgrid::kernel::actor::ActorImpl* issuer = simgrid::kernel::actor::ActorImpl::self(); + simgrid::kernel::actor::simcall_blocking([io, issuer, timeout] { io->wait_for(issuer, timeout); }); + return simgrid::kernel::activity::State::DONE; +} + +bool simcall_io_test(simgrid::kernel::activity::ActivityImpl* io) // XBT_ATTRIB_DEPRECATED_v330 { - return (e_smx_state_t)simcall_BODY_io_wait(static_cast(io), timeout); + return simgrid::kernel::actor::simcall([io] { return io->test(); }); } -bool simcall_io_test(simgrid::kernel::activity::ActivityImpl* io) +bool simcall_io_test(const simgrid::kernel::activity::ActivityImplPtr& io) // XBT_ATTRIB_DEPRECATD_v330 { - return simcall_BODY_io_test(static_cast(io)); + return simgrid::kernel::actor::simcall([io] { return io->test(); }); } void simcall_run_kernel(std::function const& code, simgrid::mc::SimcallInspector* t)