X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/7b6b6acf4ae4c0cec244594cdb804713ffac96b5..dc7bcc75749ca6fe24da694e8ab8682af0f67149:/examples/msg/mc/bugged1.c diff --git a/examples/msg/mc/bugged1.c b/examples/msg/mc/bugged1.c index 23b783e1d6..b83efd79b3 100644 --- a/examples/msg/mc/bugged1.c +++ b/examples/msg/mc/bugged1.c @@ -1,55 +1,63 @@ +/******************** Non-deterministic message ordering *********************/ +/* Server assumes a fixed order in the reception of messages from its clients */ +/* which is incorrect because the message ordering is non-deterministic */ +/******************************************************************************/ + #include #include #define N 3 -XBT_LOG_NEW_DEFAULT_CATEGORY(example,"this example"); - -int server(int argc,char *argv[]); -int client(int argc,char *argv[]); - -int server(int argc,char *argv[]) { - m_task_t task = NULL; - int count = 0; - while(count < N){ - if(task){ - MSG_task_destroy(task); - task = NULL; - } - MSG_task_receive(&task,"mymailbox"); - count++; - } - MC_assert(atoi(MSG_task_get_name(task)) == 3); +XBT_LOG_NEW_DEFAULT_CATEGORY(example, "this example"); + +int server(int argc, char *argv[]); +int client(int argc, char *argv[]); + +int server(int argc, char *argv[]) +{ + m_task_t task = NULL; + int count = 0; + while (count < N) { + if (task) { + MSG_task_destroy(task); + task = NULL; + } + MSG_task_receive(&task, "mymailbox"); + count++; + } + MC_assert(atoi(MSG_task_get_name(task)) == 3); INFO0("OK"); - return 0; + return 0; } -int client(int argc,char *argv[]) { +int client(int argc, char *argv[]) +{ - m_task_t task = MSG_task_create(argv[1], 0/*comp cost*/, 10000/*comm size*/, NULL /*arbitrary data*/); + m_task_t task = + MSG_task_create(argv[1], 0 /*comp cost */ , 10000 /*comm size */ , + NULL /*arbitrary data */ ); - MSG_task_send(task,"mymailbox"); + MSG_task_send(task, "mymailbox"); - INFO0("Sent!"); - return 0; + INFO0("Sent!"); + return 0; } -int main(int argc,char*argv[]) { +int main(int argc, char *argv[]) +{ - MSG_global_init(&argc,argv); + MSG_global_init(&argc, argv); - MSG_create_environment("platform.xml"); + MSG_create_environment("platform.xml"); - MSG_function_register("server", server); + MSG_function_register("server", server); - MSG_function_register("client", client); + MSG_function_register("client", client); - MSG_launch_application("deploy_bugged1.xml"); + MSG_launch_application("deploy_bugged1.xml"); - MSG_main(); - - return 0; - -} + MSG_main(); + return 0; +}