-/* Copyright (c) 2009-2010, 2012-2017. The SimGrid Team.
- * All rights reserved. */
+/* Copyright (c) 2009-2017. 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. */
-/* sg_config: configuration infrastructure for the simulation world */
+/* sg_config: configuration infrastructure for the simulation world */
#include "simgrid/sg_config.h"
#include "instr/instr_interface.h"
#include "simgrid/instr.h"
#include "simgrid/simix.h"
#include "simgrid_config.h" /* what was compiled in? */
-#include "src/mc/mc_replay.h"
+#include "src/kernel/lmm/maxmin.hpp"
+#include "src/mc/mc_replay.hpp"
#include "src/surf/surf_interface.hpp"
-#include "surf/maxmin.hpp"
-#include "surf/surf.h"
+#include "surf/surf.hpp"
#include "xbt/config.h"
#include "xbt/config.hpp"
#include "xbt/log.h"
{
xbt_assert(_sg_cfg_init_status < 2, "Cannot load a plugin after the initialization");
- char *val = xbt_cfg_get_string(name);
- if (val==nullptr || val[0] == '\0')
+ std::string val = xbt_cfg_get_string(name);
+ if (val.empty())
return;
- if (not strcmp(val, "help")) {
+ if (val == "help") {
model_help("plugin", surf_plugin_description);
sg_cfg_exit_early();
}
{
xbt_assert(_sg_cfg_init_status < 2, "Cannot change the model after the initialization");
- char *val = xbt_cfg_get_string(name);
- if (not strcmp(val, "help")) {
+ std::string val = xbt_cfg_get_string(name);
+ if (val == "help") {
model_help("host", surf_host_model_description);
sg_cfg_exit_early();
}
{
xbt_assert(_sg_cfg_init_status < 2, "Cannot change the model after the initialization");
- char *val = xbt_cfg_get_string(name);
- if (not strcmp(val, "help")) {
+ std::string val = xbt_cfg_get_string(name);
+ if (val == "help") {
model_help("CPU", surf_cpu_model_description);
sg_cfg_exit_early();
}
{
xbt_assert(_sg_cfg_init_status < 2, "Cannot change the model after the initialization");
- char *val = xbt_cfg_get_string(name);
- if (not strcmp(val, "help")) {
+ std::string val = xbt_cfg_get_string(name);
+ if (val == "help") {
model_help("optimization", surf_optimization_mode_description);
sg_cfg_exit_early();
}
{
xbt_assert(_sg_cfg_init_status < 2, "Cannot change the model after the initialization");
- char *val = xbt_cfg_get_string(name);
- if (not strcmp(val, "help")) {
+ std::string val = xbt_cfg_get_string(name);
+ if (val == "help") {
model_help("storage", surf_storage_model_description);
sg_cfg_exit_early();
}
{
xbt_assert(_sg_cfg_init_status < 2, "Cannot change the model after the initialization");
- char *val = xbt_cfg_get_string(name);
- if (not strcmp(val, "help")) {
+ std::string val = xbt_cfg_get_string(name);
+ if (val == "help") {
model_help("network", surf_network_model_description);
sg_cfg_exit_early();
}
static void _sg_cfg_cb_model_check_replay(const char *name) {
MC_record_path = xbt_cfg_get_string(name);
- if (MC_record_path[0] == '\0')
- MC_record_path = nullptr;
}
#if SIMGRID_HAVE_MC
static void _sg_cfg_cb_contexts_parallel_mode(const char *name)
{
- const char* mode_name = xbt_cfg_get_string(name);
- if (not strcmp(mode_name, "posix")) {
+ std::string mode_name = xbt_cfg_get_string(name);
+ if (mode_name == "posix") {
SIMIX_context_set_parallel_mode(XBT_PARMAP_POSIX);
- } else if (not strcmp(mode_name, "futex")) {
+ } else if (mode_name == "futex") {
SIMIX_context_set_parallel_mode(XBT_PARMAP_FUTEX);
- } else if (not strcmp(mode_name, "busy_wait")) {
+ } else if (mode_name == "busy_wait") {
SIMIX_context_set_parallel_mode(XBT_PARMAP_BUSY_WAIT);
- }
- else {
+ } else {
xbt_die("Command line setting of the parallel synchronization mode should "
"be one of \"posix\", \"futex\" or \"busy_wait\"");
}
/* Plugins configuration */
describe_model(description, descsize, surf_plugin_description, "plugin", "The plugins");
- xbt_cfg_register_string("plugin", nullptr, &_sg_cfg_cb__plugin, description);
+ xbt_cfg_register_string("plugin", "", &_sg_cfg_cb__plugin, description);
describe_model(description, descsize, surf_cpu_model_description, "model", "The model to use for the CPU");
xbt_cfg_register_string("cpu/model", "Cas01", &_sg_cfg_cb__cpu_model, description);
"Whether to cleanup SimGrid at exit. Disable it if your code segfaults after its end.");
xbt_cfg_register_alias("clean-atexit","clean_atexit");
- if (surf_path.empty()) {
- /* retrieves the current directory of the current process */
- const char *initial_path = __surf_get_initial_path();
- xbt_assert((initial_path), "__surf_get_initial_path() failed! Can't resolve current Windows directory");
-
- xbt_cfg_setdefault_string("path", initial_path);
- }
+ if (surf_path.empty())
+ xbt_cfg_setdefault_string("path", "./");
_sg_cfg_init_status = 1;