Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
mv msg/msg.h simgrid/msg.h
[simgrid.git] / examples / msg / masterslave / masterslave_failure.c
index 7292997..1591b85 100644 (file)
@@ -1,11 +1,11 @@
-/* Copyright (c) 2007, 2008, 2009, 2010. The SimGrid Team.
+/* Copyright (c) 2007-2014. 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 <stdio.h>
-#include "msg/msg.h"            /* Yeah! If you want to use msg, you need to include msg/msg.h */
+#include "simgrid/msg.h"        /* Yeah! If you want to use msg, you need to include simgrid/msg.h */
 #include "xbt/sysdep.h"         /* calloc, printf */
 
 /* Create a log channel to have nice outputs. */
@@ -16,7 +16,6 @@ XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test,
 
 int master(int argc, char *argv[]);
 int slave(int argc, char *argv[]);
-int forwarder(int argc, char *argv[]);
 msg_error_t test_all(const char *platform_file,
                      const char *application_file);
 
@@ -62,7 +61,7 @@ int master(int argc, char *argv[])
   for (i = 0; i < number_of_tasks; i++) {
     msg_task_t task = MSG_task_create("Task", task_comp_size, task_comm_size,
                                     xbt_new0(double, 1));
-    int a;
+    msg_error_t a;
     *((double *) task->data) = MSG_get_clock();
 
     a = MSG_task_send_with_timeout(task,MSG_host_get_name(slaves[i % slaves_count]),10.0);
@@ -156,6 +155,8 @@ int slave(int argc, char *argv[])
       } else if (a == MSG_HOST_FAILURE) {
         XBT_INFO
             ("Gloups. The cpu on which I'm running just turned off!. See you!");
+        free(task->data);
+        MSG_task_destroy(task);
         return 0;
       } else {
         XBT_INFO("Hey ?! What's up ? ");
@@ -210,7 +211,6 @@ int main(int argc, char *argv[])
     exit(1);
   }
   res = test_all(argv[1], argv[2]);
-  MSG_clean();
 
   if (res == MSG_OK)
     return 0;