Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
update the double extern declaration bis
[simgrid.git] / src / msg / msg_config.c
index 4f5cbf7..b91b2dc 100644 (file)
 
 #include "private.h"
 #include "xbt/sysdep.h"
-#include "xbt/error.h"
-
-XBT_LOG_NEW_DEFAULT_SUBCATEGORY(msg_cfg, msg,
-                               "Configuration support in \ref MSG");
-
+#include "xbt/log.h"
 
 int _msg_init_status = 0; /* 0: beginning of time; 
                              1: pre-inited (cfg_set created); 
@@ -23,12 +19,11 @@ xbt_cfg_t _msg_cfg_set = NULL;
 
 /* callback of the surf_workstation_model variable */
 static void _msg_cfg_cb__surf_workstation_model(const char *name, int pos) {
-  xbt_error_t errcode;
   char *val;
 
   xbt_assert0(_msg_init_status<2, "Cannot change the model after the initialization");
   
-  TRYFAIL(xbt_cfg_get_string (_msg_cfg_set, name, &val));
+  val = xbt_cfg_get_string (_msg_cfg_set, name);
   
   xbt_assert1(!strcmp(val, "CLM03") ||
               !strcmp(val, "KCCFLN05"),
@@ -37,7 +32,6 @@ static void _msg_cfg_cb__surf_workstation_model(const char *name, int pos) {
 
 /* create the config set and register what should be */
 void msg_config_init(void) {
-  xbt_error_t errcode;
 
   if (_msg_init_status) 
     return; /* Already inited, nothing to do */
@@ -49,33 +43,39 @@ void msg_config_init(void) {
                     "surf_workstation_model", xbt_cfgelm_string, 1,1,
                     &_msg_cfg_cb__surf_workstation_model,NULL);
                     
-  TRYFAIL(xbt_cfg_set_string(_msg_cfg_set,"surf_workstation_model", "CLM03"));
+  xbt_cfg_set_string(_msg_cfg_set,"surf_workstation_model", "KCCFLN05");
+}
+
+void msg_config_finalize(void) {
+
+  if (!_msg_init_status) 
+    return; /* Not initialized yet. Nothing to do */
+
+  xbt_cfg_free(&_msg_cfg_set);
+  _msg_init_status = 0;
 }
 
 /** \brief set a configuration variable
  * 
  * Currently existing configuation variable:
  *   - surf_workstation_model (string): Model of workstation to use.  
- *     Possible values (defaults to "CLM03"):
- *     - "CLM03": realistic TCP behavior + basic CPU model (see [CML03 at CCGrid03])
- *     - "KCCFLN05": simple network model (no latency) but interference 
- *       between computations and communications (UNSTABLE, DONT USE)
+ *     Possible values (defaults to "KCCFLN05"):
+ *     - "CLM03": realistic TCP behavior + basic CPU model (see [CML03 at CCGrid03]) + support for parallel tasks
+ *     - "KCCFLN05": realistic TCP behavior + basic CPU model (see [CML03 at CCGrid03]) + failure handling + interference between communications and computations if precised in the platform file.
  * 
  * Example:
- * MSG_config("surf_workstation_model","CLM03");
+ * MSG_config("surf_workstation_model","KCCFLN05");
  */
-xbt_error_t
+void
 MSG_config(const char *name, ...) {
   va_list pa;
-  xbt_error_t errcode;
     
   if (!_msg_init_status) {
     msg_config_init();
   }
-xbt_cfg_dump("msg_cfg_set","",_msg_cfg_set);
+  /*  xbt_cfg_dump("msg_cfg_set","",_msg_cfg_set);*/
   va_start(pa,name);
-  errcode=xbt_cfg_set_vargs(_msg_cfg_set,name,pa);
+  xbt_cfg_set_vargs(_msg_cfg_set,name,pa);
   va_end(pa);
-  
-  return errcode;
+
 }