Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
remove leaks from energy
authorAugustin Degomme <degomme@idpann.imag.fr>
Mon, 23 Sep 2013 15:58:13 +0000 (17:58 +0200)
committerAugustin Degomme <degomme@idpann.imag.fr>
Mon, 23 Sep 2013 15:58:13 +0000 (17:58 +0200)
src/surf/cpu_cas01.c
src/surf/surfxml_parse.c

index 671f363..9090cb4 100644 (file)
@@ -174,7 +174,7 @@ static void cpu_update_actions_state_full(double now, double delta)
 
 xbt_dynar_t cpu_get_watts_range_list(cpu_Cas01_t cpu_model)
 {
-       xbt_dynar_t power_range_list = xbt_dynar_new(sizeof(xbt_dynar_t), NULL);
+       xbt_dynar_t power_range_list;
        xbt_dynar_t power_tuple;
        int i = 0, pstate_nb=0;
        xbt_dynar_t current_power_values;
@@ -189,6 +189,8 @@ xbt_dynar_t cpu_get_watts_range_list(cpu_Cas01_t cpu_model)
        if (all_power_values_str == NULL)
                return NULL;
 
+
+       power_range_list = xbt_dynar_new(sizeof(xbt_dynar_t), NULL);
        xbt_dynar_t all_power_values = xbt_str_split(all_power_values_str, ",");
 
        pstate_nb = xbt_dynar_length(all_power_values);
@@ -210,8 +212,9 @@ xbt_dynar_t cpu_get_watts_range_list(cpu_Cas01_t cpu_model)
                xbt_dynar_push_as(power_tuple, double, max_power);
 
                xbt_dynar_push_as(power_range_list, xbt_dynar_t, power_tuple);
+               xbt_dynar_free(&current_power_values);
        }
-
+       xbt_dynar_free(&all_power_values);
        return power_range_list;
 
 }
index e496ca4..ee3c95f 100644 (file)
@@ -449,6 +449,7 @@ void ETag_surfxml_host(void)    {
                  xbt_dynar_push_as(host.power_peak, double, power_value);
                  XBT_DEBUG("Power value: %lf", power_value);
          }
+         xbt_dynar_free(&pstate_list);
   }
 
   XBT_DEBUG("pstate: %s", A_surfxml_host_pstate);