X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/1bd7cbc6f7c9069a69935f33ab7867de949babe7..8f9f22a96a9349e7a1e2bea57ab8cd1361b93a8a:/src/msg/msg_legacy.cpp diff --git a/src/msg/msg_legacy.cpp b/src/msg/msg_legacy.cpp index fc75415c81..31239fe48a 100644 --- a/src/msg/msg_legacy.cpp +++ b/src/msg/msg_legacy.cpp @@ -1,8 +1,9 @@ -/* Copyright (c) 2004-2018. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2004-2019. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ +#include "simgrid/Exception.hpp" #include "src/msg/msg_private.hpp" #define MSG_CALL(type, oldname, args) @@ -10,29 +11,29 @@ /* ************************** Engine *************************** */ void MSG_create_environment(const char* filename) { - sg_engine_load_platform(filename); + simgrid_load_platform(filename); } void MSG_launch_application(const char* filename) { - sg_engine_load_deployment(filename); + simgrid_load_deployment(filename); } msg_error_t MSG_main() { - sg_engine_run(); + simgrid_run(); return MSG_OK; } void MSG_function_register(const char* name, xbt_main_func_t code) { - sg_engine_register_function(name, code); + simgrid_register_function(name, code); } void MSG_function_register_default(xbt_main_func_t code) { - sg_engine_register_default(code); + simgrid_register_default(code); } double MSG_get_clock() { - return sg_engine_get_clock(); + return simgrid_get_clock(); } /* ************************** Mailboxes ************************ */ @@ -124,6 +125,53 @@ void MSG_process_yield() sg_actor_yield(); } +msg_error_t MSG_process_sleep(double duration) +{ + try { + sg_actor_sleep_for(duration); + return MSG_OK; + } catch (const simgrid::HostFailureException&) { + return MSG_HOST_FAILURE; + } +} + +msg_process_t MSG_process_attach(const char* name, void* data, msg_host_t host, xbt_dict_t properties) +{ + return sg_actor_attach(name, data, host, properties); +} + +void MSG_process_detach() +{ + sg_actor_detach(); +} +aid_t MSG_process_self_PID() +{ + return sg_actor_self_get_pid(); +} + +/** @brief Return the PPID of the current process. + * + * This function returns the PID of the parent of the currently running #msg_process_t. + */ +aid_t MSG_process_self_PPID() +{ + return sg_actor_self_get_ppid(); +} + +/** @brief Return the name of the current process. */ +const char* MSG_process_self_name() +{ + return sg_actor_self_get_name(); +} +/** @brief Return the current process. + * + * This function returns the currently running #msg_process_t. + */ +msg_process_t MSG_process_self() +{ + return sg_actor_self(); +} + /* ************************** NetZones *************************** */ sg_netzone_t MSG_zone_get_root() { @@ -273,9 +321,9 @@ int MSG_host_is_on(sg_host_t h) { return sg_host_is_on(h); } -int MSG_host_is_off(sg_host_t h) +int MSG_host_is_off(sg_host_t h) // deprecated { - return sg_host_is_off(h); + return not sg_host_is_on(h); } xbt_dict_t MSG_host_get_properties(sg_host_t host) { @@ -297,6 +345,11 @@ sg_host_t MSG_host_self() { return sg_host_self(); } + +double MSG_host_get_load(sg_host_t host) +{ + return sg_host_load(host); +} /* ************************** Virtual Machines *************************** */ sg_vm_t MSG_vm_create_core(sg_host_t pm, const char* name) { @@ -373,3 +426,32 @@ int MSG_barrier_wait(sg_bar_t bar) { return sg_barrier_wait(bar); } + +sg_sem_t MSG_sem_init(int initial_value) +{ + return sg_sem_init(initial_value); +} +void MSG_sem_acquire(sg_sem_t sem) +{ + sg_sem_acquire(sem); +} +int MSG_sem_acquire_timeout(sg_sem_t sem, double timeout) +{ + return sg_sem_acquire_timeout(sem, timeout); +} +void MSG_sem_release(sg_sem_t sem) +{ + sg_sem_release(sem); +} +int MSG_sem_get_capacity(sg_sem_t sem) +{ + return sg_sem_get_capacity(sem); +} +void MSG_sem_destroy(sg_sem_t sem) +{ + sg_sem_destroy(sem); +} +int MSG_sem_would_block(sg_sem_t sem) +{ + return sg_sem_would_block(sem); +}