Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
please sonar
[simgrid.git] / examples / msg / mc / bugged3.c
index e43e802..879c37d 100644 (file)
@@ -1,5 +1,4 @@
-/* Copyright (c) 2010-2015. The SimGrid Team.
- * All rights reserved.                                                     */
+/* Copyright (c) 2010-2017. 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. */
 
 XBT_LOG_NEW_DEFAULT_CATEGORY(bugged3, "this example");
 
-int server(int argc, char *argv[]);
-int client(int argc, char *argv[]);
 
-int server(int argc, char *argv[])
+static int server(int argc, char *argv[])
 {
-  msg_task_t task1;
-  long val1;
-  msg_comm_t comm1, comm2;
+  msg_task_t task1 = NULL;
+  msg_task_t task2 = NULL;
 
-  comm1 = MSG_task_irecv(&task1, "mymailbox1");
-  comm2 = MSG_task_irecv(&task1, "mymailbox2");
+  msg_comm_t comm1 = MSG_task_irecv(&task1, "mymailbox1");
+  msg_comm_t comm2 = MSG_task_irecv(&task2, "mymailbox2");
   MSG_comm_wait(comm1, -1);
   MSG_comm_wait(comm2, -1);
 
-  val1 = (long) MSG_task_get_data(task1);
+  long val1 = xbt_str_parse_int(MSG_task_get_name(task1), "Task name is not a numerical ID: %s");
   XBT_INFO("Received %lu", val1);
 
   MC_assert(val1 == 2);
@@ -41,14 +37,13 @@ int server(int argc, char *argv[])
   return 0;
 }
 
-int client(int argc, char *argv[])
+static int client(int argc, char *argv[])
 {
-  int ID = xbt_str_parse_int(argv[1], "Arg 1 is not a numerical ID: %s");
-  msg_task_t task1 = MSG_task_create("task", 0, 10000, (void *) ID);
+  msg_task_t task1 = MSG_task_create(argv[1], 0, 10000, NULL);
 
   char *mbox = bprintf("mymailbox%s", argv[1]);
 
-  XBT_INFO("Send %d!", ID);
+  XBT_INFO("Send %s!", argv[1]);
   msg_comm_t comm = MSG_task_isend(task1, mbox);
   MSG_comm_wait(comm, -1);
 
@@ -68,6 +63,5 @@ int main(int argc, char *argv[])
   MSG_launch_application("deploy_bugged3.xml");
 
   MSG_main();
-
   return 0;
 }