X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/b9a15f078a62e397f321dfb570254652785cc377..dac5d8074d0d4971410ad158c52f1bc6f1dda9a4:/src/simix/libsmx.cpp diff --git a/src/simix/libsmx.cpp b/src/simix/libsmx.cpp index be3b661f7a..dfbd77575b 100644 --- a/src/simix/libsmx.cpp +++ b/src/simix/libsmx.cpp @@ -25,7 +25,7 @@ #include "xbt/ex.h" #include "mc/mc.h" #include "src/simix/smx_host_private.h" -#include "src/simix/SynchroComm.hpp" +#include "src/kernel/activity/SynchroComm.hpp" #include @@ -217,7 +217,7 @@ void* simcall_vm_create(const char *name, sg_host_t phys_host) */ void simcall_vm_start(sg_host_t vm) { - return simgrid::simix::kernelImmediate(std::bind(SIMIX_vm_start, vm)); + simgrid::simix::kernelImmediate(std::bind(SIMIX_vm_start, vm)); } /** @@ -263,7 +263,7 @@ void simcall_vm_set_affinity(sg_host_t vm, sg_host_t pm, unsigned long mask) */ void simcall_vm_migrate(sg_host_t vm, sg_host_t host) { - return simgrid::simix::kernelImmediate(std::bind(SIMIX_vm_migrate, vm, host)); + simgrid::simix::kernelImmediate(std::bind(SIMIX_vm_migrate, vm, host)); } /** @@ -621,19 +621,6 @@ smx_mailbox_t simcall_mbox_create(const char *name) return simcall_BODY_mbox_create(name); } -/** - * \ingroup simix_mbox_management - * \brief Returns a rendez-vous point knowing its name - */ -smx_mailbox_t simcall_mbox_get_by_name(const char *name) -{ - /* FIXME: this is a horrible loss of performance, so we hack it out by - * skipping the simcall (for now). It works in parallel, it won't work on - * distributed but probably we will change MSG for that. */ - - return SIMIX_mbox_get_by_name(name); -} - /** * \ingroup simix_mbox_management * \brief returns the communication at the head of the rendez-vous @@ -642,8 +629,7 @@ smx_mailbox_t simcall_mbox_get_by_name(const char *name) */ smx_synchro_t simcall_mbox_front(smx_mailbox_t mbox) { - - return mbox->comm_queue->empty()? nullptr:mbox->comm_queue->front(); + return mbox->comm_queue.empty() ? nullptr : mbox->comm_queue.front(); } void simcall_mbox_set_receiver(smx_mailbox_t mbox, smx_process_t process) @@ -758,7 +744,7 @@ smx_synchro_t simcall_comm_iprobe(smx_mailbox_t mbox, int type, int src, int tag void simcall_comm_cancel(smx_synchro_t synchro) { simgrid::simix::kernelImmediate([synchro]{ - simgrid::simix::Comm *comm = static_cast(synchro); + simgrid::kernel::activity::Comm *comm = static_cast(synchro); comm->cancel(); }); } @@ -766,19 +752,19 @@ void simcall_comm_cancel(smx_synchro_t synchro) /** * \ingroup simix_comm_management */ -unsigned int simcall_comm_waitany(xbt_dynar_t comms) +unsigned int simcall_comm_waitany(xbt_dynar_t comms, double timeout) { - return simcall_BODY_comm_waitany(comms); + return simcall_BODY_comm_waitany(comms, timeout); } /** * \ingroup simix_comm_management */ -int simcall_comm_testany(xbt_dynar_t comms) +int simcall_comm_testany(smx_synchro_t* comms, size_t count) { - if (xbt_dynar_is_empty(comms)) + if (count == 0) return -1; - return simcall_BODY_comm_testany(comms); + return simcall_BODY_comm_testany(comms, count); } /** @@ -1091,12 +1077,12 @@ xbt_dict_t simcall_storage_get_content(smx_storage_t storage) void simcall_run_kernel(std::function const& code) { - return simcall_BODY_run_kernel(&code); + simcall_BODY_run_kernel(&code); } void simcall_run_blocking(std::function const& code) { - return simcall_BODY_run_blocking(&code); + simcall_BODY_run_blocking(&code); } int simcall_mc_random(int min, int max) { @@ -1120,4 +1106,4 @@ void unblock(smx_process_t process) } } -} \ No newline at end of file +}