Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
what is that pimple, for god's sake??
[simgrid.git] / src / surf / workstation_ptask_L07.c
index 59ae446..82acc84 100644 (file)
@@ -404,8 +404,7 @@ static void ptask_update_resource_state(void *id,
 
 static void ptask_finalize(void)
 {
 
 static void ptask_finalize(void)
 {
-  if (ptask_parallel_task_link_set != NULL)
-    xbt_dict_free(&ptask_parallel_task_link_set);
+  xbt_dict_free(&ptask_parallel_task_link_set);
 
   surf_model_exit(surf_workstation_model);
   surf_workstation_model = NULL;
 
   surf_model_exit(surf_workstation_model);
   surf_workstation_model = NULL;
@@ -714,20 +713,42 @@ static void* ptask_link_create_resource(const char *name,
 
 static void ptask_parse_link_init(sg_platf_link_cbarg_t link)
 {
 
 static void ptask_parse_link_init(sg_platf_link_cbarg_t link)
 {
-  if(link->policy == SURF_LINK_FULLDUPLEX)
-  {
-         ptask_link_create_resource(bprintf("%s_UP",link->id), link->bandwidth, link->bandwidth_trace,
-                      link->latency, link->latency_trace, link->state, link->state_trace,
-                      link->policy, link->properties);
-    ptask_link_create_resource(bprintf("%s_DOWN",link->id), link->bandwidth, link->bandwidth_trace,
-            link->latency, link->latency_trace, link->state, link->state_trace,
-            link->policy, NULL); // FIXME: We need to deep copy the properties or we won't be able to free it
-  }
-  else
-  {
-         ptask_link_create_resource(xbt_strdup(link->id), link->bandwidth, link->bandwidth_trace,
-               link->latency, link->latency_trace, link->state, link->state_trace,
-                      link->policy, link->properties);
+  if (link->policy == SURF_LINK_FULLDUPLEX) {
+    char *link_id;
+    link_id = bprintf("%s_UP", link->id);
+    ptask_link_create_resource(link_id,
+                               link->bandwidth,
+                               link->bandwidth_trace,
+                               link->latency,
+                               link->latency_trace,
+                               link->state,
+                               link->state_trace,
+                               link->policy,
+                               link->properties);
+    xbt_free(link_id);
+    link_id = bprintf("%s_DOWN", link->id);
+    ptask_link_create_resource(bprintf("%s_DOWN", link->id),
+                               link->bandwidth,
+                               link->bandwidth_trace,
+                               link->latency,
+                               link->latency_trace,
+                               link->state,
+                               link->state_trace,
+                               link->policy,
+                               NULL); /* FIXME: We need to deep copy the
+                                       * properties or we won't be able to free
+                                       * it */
+    xbt_free(link_id);
+  } else {
+    ptask_link_create_resource(link->id,
+                               link->bandwidth,
+                               link->bandwidth_trace,
+                               link->latency,
+                               link->latency_trace,
+                               link->state,
+                               link->state_trace,
+                               link->policy,
+                               link->properties);
   }
 
   current_property_set = NULL;
   }
 
   current_property_set = NULL;
@@ -870,11 +891,11 @@ static void ptask_model_init_internal(void)
     ptask_maxmin_system = lmm_system_new();
 
   routing_model_create(sizeof(link_L07_t),
     ptask_maxmin_system = lmm_system_new();
 
   routing_model_create(sizeof(link_L07_t),
-      ptask_link_create_resource(xbt_strdup("__loopback__"),
-                                      498000000, NULL, 0.000015, NULL,
-                                      SURF_RESOURCE_ON, NULL,
-                                      SURF_LINK_FATPIPE, NULL),
-                       ptask_get_link_latency);
+                       ptask_link_create_resource("__loopback__",
+                                                  498000000, NULL,
+                                                  0.000015, NULL,
+                                                  SURF_RESOURCE_ON, NULL,
+                                                  SURF_LINK_FATPIPE, NULL));
 
 }
 
 
 }
 
@@ -889,8 +910,5 @@ void surf_workstation_model_init_ptask_L07(void)
   surf_network_model = surf_model_init();
   ptask_define_callbacks();
   ptask_model_init_internal();
   surf_network_model = surf_model_init();
   ptask_define_callbacks();
   ptask_model_init_internal();
-
-  update_model_description(surf_workstation_model_description,
-                           "ptask_L07", surf_workstation_model);
   xbt_dynar_push(model_list, &surf_workstation_model);
 }
   xbt_dynar_push(model_list, &surf_workstation_model);
 }