X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/8d28f426ad63dda86cb4b558c13140240ba503d0..483e903a02a5c78a73597aabc0fc4eb517f84558:/teshsuite/simdag/availability/availability_test.c?ds=sidebyside diff --git a/teshsuite/simdag/availability/availability_test.c b/teshsuite/simdag/availability/availability_test.c index 1fb03f480d..02a70204ea 100644 --- a/teshsuite/simdag/availability/availability_test.c +++ b/teshsuite/simdag/availability/availability_test.c @@ -1,9 +1,15 @@ +/* Copyright (c) 2013-2015. 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. */ + #include #include #include #include #include -#include +#include #include #include #include @@ -63,12 +69,11 @@ static void scheduleDAX(xbt_dynar_t dax) SD_task_t task; const SD_workstation_t *ws_list = SD_workstation_get_list(); - int totalHosts = SD_workstation_get_number(); + int totalHosts = SD_workstation_get_count(); qsort((void *) ws_list, totalHosts, sizeof(SD_workstation_t), name_compare_hosts); - int count = SD_workstation_get_number(); - //fprintf(stdout, "No. workstations: %d, %d\n", count, (dax != NULL)); + //fprintf(stdout, "No. workstations: %d, %d\n", totalHosts, (dax != NULL)); xbt_dynar_foreach(dax, cursor, task) { if (SD_task_get_kind(task) == SD_TASK_COMP_SEQ) { @@ -79,8 +84,8 @@ static void scheduleDAX(xbt_dynar_t dax) SD_task_schedulel(task, 1, ws_list[0]); } else { fprintf(stdout, "Scheduling %s to node: %s\n", SD_task_get_name(task), - SD_workstation_get_name(ws_list[(cursor) % count])); - SD_task_schedulel(task, 1, ws_list[(cursor) % count]); + SD_workstation_get_name(ws_list[(cursor) % totalHosts])); + SD_task_schedulel(task, 1, ws_list[(cursor) % totalHosts]); } } } @@ -149,11 +154,11 @@ static xbt_dynar_t initDynamicThrottling(int *argc, char *argv[]) */ static void garbageCollector(xbt_dynar_t dax) { - SD_task_t task; - unsigned int cursor; - xbt_dynar_foreach(dax, cursor, task) { + while (!xbt_dynar_is_empty(dax)) { + SD_task_t task = xbt_dynar_pop_as(dax, SD_task_t); SD_task_destroy(task); } + xbt_dynar_free(&dax); SD_exit(); }