From 8ed7eecd6c48d762c43ba56385c967df20ce034f Mon Sep 17 00:00:00 2001 From: suter Date: Fri, 9 Aug 2013 16:58:51 +0200 Subject: [PATCH] Simdag users may also want to change SimGrid configuration in the code too (to switch to workstation/model:default, for instance) --- include/simdag/simdag.h | 1 + src/simdag/sd_global.c | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/include/simdag/simdag.h b/include/simdag/simdag.h index fe7e32cd89..6d39ab774c 100644 --- a/include/simdag/simdag.h +++ b/include/simdag/simdag.h @@ -228,6 +228,7 @@ XBT_PUBLIC(int) SD_task_dependency_exists(SD_task_t src, SD_task_t dst); * @{ */ XBT_PUBLIC(void) SD_init(int *argc, char **argv); +XBT_PUBLIC(void) SD_config(const char *key, const char *value); XBT_PUBLIC(void) SD_application_reinit(void); XBT_PUBLIC(void) SD_create_environment(const char *platform_file); XBT_PUBLIC(xbt_dynar_t) SD_simulate(double how_long); diff --git a/src/simdag/sd_global.c b/src/simdag/sd_global.c index 896e758c06..98de7a6a5c 100644 --- a/src/simdag/sd_global.c +++ b/src/simdag/sd_global.c @@ -97,6 +97,19 @@ void SD_init(int *argc, char **argv) SD_LINK_LEVEL = xbt_lib_add_level(link_lib,__SD_link_destroy); } +/** \brief set a configuration variable + * + * Do --help on any simgrid binary to see the list of currently existing configuration variables, and see Section @ref options. + * + * Example: + * SD_config("workstation/model","default"); + */ +void SD_config(const char *key, const char *value){ + xbt_assert(sd_global,"ERROR: Please call SD_init() before using SD_config()"); + xbt_cfg_set_as_string(_sg_cfg_set, key, value); +} + + /** * \brief Reinits the application part of the simulation (experimental feature) * -- 2.20.1