X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/da9e3460f9f8e4eb2ad4c523a19a8ddb79807e60..3c038eac822ac8fbc74a278571574a13de0bd17f:/src/simix/libsmx.cpp diff --git a/src/simix/libsmx.cpp b/src/simix/libsmx.cpp index e9fb2be7f4..a3aad4a842 100644 --- a/src/simix/libsmx.cpp +++ b/src/simix/libsmx.cpp @@ -15,34 +15,31 @@ #include -#include - -#include -#include - #include "mc/mc.h" +#include "simgrid/s4u/VirtualMachine.hpp" +#include "simgrid/simix.hpp" +#include "simgrid/simix/blocking_simcall.hpp" #include "smx_private.h" -#include "src/kernel/activity/SynchroComm.hpp" +#include "src/kernel/activity/CommImpl.hpp" #include "src/mc/mc_forward.hpp" #include "src/mc/mc_replay.h" #include "src/plugins/vm/VirtualMachineImpl.hpp" #include "src/simix/smx_host_private.h" #include "xbt/ex.h" - -#include +#include "xbt/functional.hpp" XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(simix); #include "popping_bodies.cpp" -void simcall_call(smx_actor_t process) +void simcall_call(smx_actor_t actor) { - if (process != simix_global->maestro_process) { - XBT_DEBUG("Yield process '%s' on simcall %s (%d)", process->name.c_str(), - SIMIX_simcall_name(process->simcall.call), (int)process->simcall.call); - SIMIX_process_yield(process); + if (actor != simix_global->maestro_process) { + XBT_DEBUG("Yield actor '%s' on simcall %s (%d)", actor->cname(), SIMIX_simcall_name(actor->simcall.call), + (int)actor->simcall.call); + SIMIX_process_yield(actor); } else { - SIMIX_simcall_handle(&process->simcall, 0); + SIMIX_simcall_handle(&actor->simcall, 0); } } @@ -90,12 +87,11 @@ smx_activity_t simcall_execution_parallel_start(const char* name, int host_nb, s double* flops_amount, double* bytes_amount, double amount, double rate, double timeout) { - int i,j; /* checking for infinite values */ - for (i = 0 ; i < host_nb ; ++i) { + for (int i = 0 ; i < host_nb ; ++i) { xbt_assert(std::isfinite(flops_amount[i]), "flops_amount[%d] is not finite!", i); if (bytes_amount != nullptr) { - for (j = 0 ; j < host_nb ; ++j) { + for (int j = 0 ; j < host_nb ; ++j) { xbt_assert(std::isfinite(bytes_amount[i + host_nb * j]), "bytes_amount[%d+%d*%d] is not finite!", i, host_nb, j); } @@ -251,17 +247,6 @@ int simcall_process_count() return simgrid::simix::kernelImmediate(SIMIX_process_count); } -/** - * \ingroup simix_process_management - * \brief Return the user data of a #smx_actor_t. - * \param process a SIMIX process - * \return the user data of this process - */ -void* simcall_process_get_data(smx_actor_t process) -{ - return SIMIX_process_get_data(process); -} - /** * \ingroup simix_process_management * \brief Set the user data of a #smx_actor_t. @@ -367,22 +352,6 @@ e_smx_state_t simcall_process_sleep(double duration) return (e_smx_state_t) simcall_BODY_process_sleep(duration); } -/** - * \ingroup simix_mbox_management - * \brief Creates a new rendez-vous point - * \param name The name of the rendez-vous point - * \return The created rendez-vous point - */ -smx_mailbox_t simcall_mbox_create(const char *name) -{ - return simcall_BODY_mbox_create(name); -} - -void simcall_mbox_set_receiver(smx_mailbox_t mbox, smx_actor_t process) -{ - simcall_BODY_mbox_set_receiver(mbox, process); -} - /** * \ingroup simix_comm_management */ @@ -489,8 +458,8 @@ smx_activity_t simcall_comm_iprobe(smx_mailbox_t mbox, int type, int src, int ta */ void simcall_comm_cancel(smx_activity_t synchro) { - simgrid::simix::kernelImmediate([synchro]{ - simgrid::kernel::activity::Comm *comm = static_cast(synchro); + simgrid::simix::kernelImmediate([synchro] { + simgrid::kernel::activity::CommImpl* comm = static_cast(synchro); comm->cancel(); }); } @@ -552,7 +521,7 @@ int simcall_comm_test(smx_activity_t comm) */ smx_mutex_t simcall_mutex_init() { - if(!simix_global) { + if (not simix_global) { fprintf(stderr,"You must run MSG_init before using MSG\n"); // We can't use xbt_die since we may get there before the initialization xbt_abort(); } @@ -777,26 +746,6 @@ int simcall_file_move(smx_file_t fd, const char* fullpath) return simcall_BODY_file_move(fd, fullpath); } -/** - * \ingroup simix_storage_management - * \brief Returns the free space size on a given storage element. - * \param storage a storage - * \return Return the free space size on a given storage element (as sg_size_t) - */ -sg_size_t simcall_storage_get_free_size (smx_storage_t storage){ - return simcall_BODY_storage_get_free_size(storage); -} - -/** - * \ingroup simix_storage_management - * \brief Returns the used space size on a given storage element. - * \param storage a storage - * \return Return the used space size on a given storage element (as sg_size_t) - */ -sg_size_t simcall_storage_get_used_size (smx_storage_t storage){ - return simcall_BODY_storage_get_used_size(storage); -} - /** * \ingroup simix_storage_management * \brief Returns a dict of the properties assigned to a storage element. @@ -809,18 +758,6 @@ xbt_dict_t simcall_storage_get_properties(smx_storage_t storage) return simcall_BODY_storage_get_properties(storage); } -/** - * \ingroup simix_storage_management - * \brief Returns a dict containing the content of a storage element. - * - * \param storage A storage element - * \return The content of this storage element as a dict (full path file => size) - */ -xbt_dict_t simcall_storage_get_content(smx_storage_t storage) -{ - return simcall_BODY_storage_get_content(storage); -} - void simcall_run_kernel(std::function const& code) { simcall_BODY_run_kernel(&code);