Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
implement quiet exit (fixes #10045)
[simgrid.git] / src / surf / surf_config.c
index d35005c..0fff09f 100644 (file)
@@ -29,7 +29,7 @@ static void surf_config_cmd_line(int *argc, char **argv)
       opt++;
 
       xbt_cfg_set_parse(_surf_cfg_set, opt);
-      DEBUG1("Did apply '%s' as config setting", opt);
+      XBT_DEBUG("Did apply '%s' as config setting", opt);
       remove_it = 1;
     } else if (!strncmp(argv[i], "--cfg-help", strlen("--cfg-help") + 1) ||
                !strncmp(argv[i], "--help", strlen("--help") + 1)) {
@@ -80,7 +80,7 @@ static void _surf_cfg_cb__workstation_model(const char *name, int pos)
 {
   char *val;
 
-  xbt_assert0(_surf_init_status < 2,
+  xbt_assert(_surf_init_status < 2,
               "Cannot change the model after the initialization");
 
   val = xbt_cfg_get_string(_surf_cfg_set, name);
@@ -99,7 +99,7 @@ static void _surf_cfg_cb__cpu_model(const char *name, int pos)
 {
   char *val;
 
-  xbt_assert0(_surf_init_status < 2,
+  xbt_assert(_surf_init_status < 2,
               "Cannot change the model after the initialization");
 
   val = xbt_cfg_get_string(_surf_cfg_set, name);
@@ -118,7 +118,7 @@ static void _surf_cfg_cb__network_model(const char *name, int pos)
 {
   char *val;
 
-  xbt_assert0(_surf_init_status < 2,
+  xbt_assert(_surf_init_status < 2,
               "Cannot change the model after the initialization");
 
   val = xbt_cfg_get_string(_surf_cfg_set, name);
@@ -192,6 +192,14 @@ static void _surf_cfg_cb_model_check(const char *name, int pos)
   }
 }
 
+extern int _surf_do_verbose_exit;
+
+static void _surf_cfg_cb_verbose_exit(const char *name, int pos)
+{
+  _surf_do_verbose_exit = xbt_cfg_get_int(_surf_cfg_set, name);
+}
+
+
 static void _surf_cfg_cb_context_factory(const char *name, int pos)
 {
   smx_context_factory_name = xbt_cfg_get_string(_surf_cfg_set, name);
@@ -347,12 +355,21 @@ void surf_config_init(int *argc, char **argv)
                      "Activate the model-checking of the \"simulated\" system (EXPERIMENTAL -- msg only for now)",
                      xbt_cfgelm_int, &default_value_int, 0, 1,
                      _surf_cfg_cb_model_check, NULL);
+    
     /*
        FIXME: this function is not setting model-check to it's default value because
        internally it calls to variable->cb_set that in this case is the function 
-       _surf_cfg_cb_model_check which sets it's value to 1 (instead of the defalut value 0)
+       _surf_cfg_cb_model_check which sets it's value to 1 (instead of the default value 0)
        xbt_cfg_set_int(_surf_cfg_set, "model-check", default_value_int); */
 
+    /* do verbose-exit */
+    default_value_int = 0;
+    xbt_cfg_register(&_surf_cfg_set, "verbose-exit",
+                     "Activate the \"do nothing\" mode in Ctrl-C",
+                     xbt_cfgelm_int, &default_value_int, 0, 1,
+                     _surf_cfg_cb_verbose_exit, NULL);
+    
+    
     /* context factory */
     default_value = xbt_strdup("ucontext");
     xbt_cfg_register(&_surf_cfg_set, "contexts/factory",
@@ -404,7 +421,7 @@ void surf_config_init(int *argc, char **argv)
     if (!surf_path) {
       /* retrieves the current directory of the        current process */
       const char *initial_path = __surf_get_initial_path();
-      xbt_assert0((initial_path),
+      xbt_assert((initial_path),
                   "__surf_get_initial_path() failed! Can't resolves current Windows directory");
 
       surf_path = xbt_dynar_new(sizeof(char *), NULL);
@@ -414,7 +431,7 @@ void surf_config_init(int *argc, char **argv)
 
     surf_config_cmd_line(argc, argv);
   } else {
-    WARN0("Call to surf_config_init() after initialization ignored");
+    XBT_WARN("Call to surf_config_init() after initialization ignored");
   }
 }
 
@@ -447,13 +464,13 @@ void surf_config_models_setup(const char *platform_file)
        || strcmp(cpu_model_name, "Cas01"))
       && !strcmp(workstation_model_name, "CLM03")) {
     const char *val = "compound";
-    INFO0
+    XBT_INFO
         ("Switching workstation model to compound since you changed the network and/or cpu model(s)");
     xbt_cfg_set_string(_surf_cfg_set, "workstation/model", val);
     workstation_model_name = (char *) "compound";
   }
 
-  DEBUG1("Workstation model: %s", workstation_model_name);
+  XBT_DEBUG("Workstation model: %s", workstation_model_name);
   workstation_id =
       find_model_description(surf_workstation_model_description,
                              workstation_model_name);
@@ -461,10 +478,10 @@ void surf_config_models_setup(const char *platform_file)
     int network_id = -1;
     int cpu_id = -1;
 
-    xbt_assert0(cpu_model_name,
+    xbt_assert(cpu_model_name,
                 "Set a cpu model to use with the 'compound' workstation model");
 
-    xbt_assert0(network_model_name,
+    xbt_assert(network_model_name,
                 "Set a network model to use with the 'compound' workstation model");
 
     network_id =
@@ -478,7 +495,7 @@ void surf_config_models_setup(const char *platform_file)
         (platform_file);
   }
 
-  DEBUG0("Call workstation_model_init");
+  XBT_DEBUG("Call workstation_model_init");
   surf_workstation_model_description[workstation_id].model_init_preparse
       (platform_file);
 }