Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
add codacy upload to coverage
[simgrid.git] / examples / simdag / availability / sd_availability.c
index 083c5d9..601a6ed 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2012-2016. The SimGrid Team.
+/* Copyright (c) 2012-2018. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -52,12 +52,12 @@ int main(int argc, char **argv)
   SD_task_t t4 = SD_task_create_comp_seq("t4", NULL, 25000000);
 
   /* Add dependencies: t1->c1->t2->c2->t3 */
-  SD_task_dependency_add(NULL, NULL, t1, c1);
-  SD_task_dependency_add(NULL, NULL, c1, t2);
-  SD_task_dependency_add(NULL, NULL, t2, c2);
-  SD_task_dependency_add(NULL, NULL, c2, t3);
-  SD_task_dependency_add(NULL, NULL, t3, c3);
-  SD_task_dependency_add(NULL, NULL, c3, t4);
+  SD_task_dependency_add(t1, c1);
+  SD_task_dependency_add(c1, t2);
+  SD_task_dependency_add(t2, c2);
+  SD_task_dependency_add(c2, t3);
+  SD_task_dependency_add(t3, c3);
+  SD_task_dependency_add(c3, t4);
 
   /* Schedule tasks t1 and w3 on first host, t2 on second host */
   /* Transfers are auto-scheduled */
@@ -74,16 +74,16 @@ int main(int argc, char **argv)
   SD_task_watch(t3, SD_DONE);
   SD_task_watch(c3, SD_DONE);
   SD_task_watch(t4, SD_DONE);
-
+  xbt_dynar_t changed_tasks = xbt_dynar_new(sizeof(SD_task_t), NULL);
   while (1) {
-    xbt_dynar_t changed_tasks = SD_simulate(-1.0);
+    SD_simulate_with_update(-1.0, changed_tasks);
     if (xbt_dynar_is_empty(changed_tasks))
       break;
     XBT_INFO("link1: bw=%.0f, lat=%f", sg_host_route_bandwidth(hosts[0], hosts[1]),
              sg_host_route_latency(hosts[0], hosts[1]));
     XBT_INFO("Jupiter: speed=%.0f", sg_host_speed(hosts[0])* sg_host_get_available_speed(hosts[0]));
     XBT_INFO("Tremblay: speed=%.0f", sg_host_speed(hosts[1])* sg_host_get_available_speed(hosts[1]));
-     
+
     unsigned int ctr;
     SD_task_t task;
     xbt_dynar_foreach(changed_tasks, ctr, task) {
@@ -92,9 +92,9 @@ int main(int argc, char **argv)
       if (SD_task_get_state(task)==SD_DONE)
         SD_task_destroy(task);
     }
-    xbt_dynar_free(&changed_tasks);
+    xbt_dynar_reset(changed_tasks);
   }
-  SD_exit();
   xbt_free(hosts);
+  xbt_dynar_free(&changed_tasks);
   return 0;
 }