Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Kill some memory leaks.
[simgrid.git] / examples / simdag / dot / simulate_dot.c
index 3643f2b..880fe56 100644 (file)
@@ -1,6 +1,6 @@
 /* simple test trying to load a DOT file.                                   */
 
-/* Copyright (c) 2010. The SimGrid Team.
+/* Copyright (c) 2010-2013. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -32,6 +32,18 @@ int main(int argc, char **argv)
     XBT_INFO("example: %s ../2clusters.xml dag.dot dag.mytrace", argv[0]);
     exit(1);
   }
+
+  /* creation of the environment */
+  SD_create_environment(argv[1]);
+
+  /* load the DOT file  and schedule tasks */
+  dot = SD_dotload_with_sched(argv[2]);
+  if(!dot){
+    XBT_CRITICAL("The dot file with the provided scheduling is wrong, more information with the option : --log=sd_dotparse.thres:verbose");
+    SD_exit();
+    exit(2);
+  }
+
   char *tracefilename;
   if (argc == 3) {
     char *last = strrchr(argv[2], '.');
@@ -44,16 +56,6 @@ int main(int argc, char **argv)
     tracefilename = xbt_strdup(argv[3]);
   }
 
-  /* creation of the environment */
-  SD_create_environment(argv[1]);
-
-  /* load the DOT file  and schedule tasks */
-  dot = SD_dotload_with_sched(argv[2]);
-  if(!dot){
-    SD_exit();
-    xbt_die("The dot file with the provided scheduling is wrong, more information with the option : --log=sd_dotparse.thres:verbose");
-  }
-
   /* Display all the tasks */
   XBT_INFO
   ("------------------- Display all tasks of the loaded DAG ---------------------------");
@@ -106,6 +108,7 @@ int main(int argc, char **argv)
     SD_task_destroy(task);
   }
   fclose(out);
+  xbt_dynar_free_container(&dot);
 
   /* exit */
   SD_exit();