Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
please sonar
[simgrid.git] / examples / msg / mc / bugged3.c
index 91d00c1..879c37d 100644 (file)
@@ -1,10 +1,8 @@
-/* Copyright (c) 2010-2012. 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. */
 
-
 /**************** Shared buffer between asynchronous receives *****************/
 /* Server process assumes that the data from the second communication comm2   */
 /* will overwrite the one from the first communication, because of the order  */
 /* same buffer for reception (task1).                                         */
 /******************************************************************************/
 
-#include <msg/msg.h>
+#include <simgrid/msg.h>
 #include <simgrid/modelchecker.h>
 
 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);
@@ -42,17 +37,14 @@ int server(int argc, char *argv[])
   return 0;
 }
 
-int client(int argc, char *argv[])
+static int client(int argc, char *argv[])
 {
-  msg_comm_t comm;
-  char *mbox;
-  msg_task_t task1 =
-      MSG_task_create("task", 0, 10000, (void *) atol(argv[1]));
+  msg_task_t task1 = MSG_task_create(argv[1], 0, 10000, NULL);
 
-  mbox = bprintf("mymailbox%s", argv[1]);
+  char *mbox = bprintf("mymailbox%s", argv[1]);
 
-  XBT_INFO("Send %d!", atoi(argv[1]));
-  comm = MSG_task_isend(task1, mbox);
+  XBT_INFO("Send %s!", argv[1]);
+  msg_comm_t comm = MSG_task_isend(task1, mbox);
   MSG_comm_wait(comm, -1);
 
   xbt_free(mbox);
@@ -67,12 +59,9 @@ int main(int argc, char *argv[])
   MSG_create_environment("platform.xml");
 
   MSG_function_register("server", server);
-
   MSG_function_register("client", client);
-
   MSG_launch_application("deploy_bugged3.xml");
 
   MSG_main();
-
   return 0;
 }