X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/193e26b3f5577626bce1131ea5977663610e8a0b..dfc3b7c81f7e4fec5c8da96745042766dc0da27f:/doc/tuto-msg/masterworker-sol2.c diff --git a/doc/tuto-msg/masterworker-sol2.c b/doc/tuto-msg/masterworker-sol2.c index 317335f068..16d44b0446 100644 --- a/doc/tuto-msg/masterworker-sol2.c +++ b/doc/tuto-msg/masterworker-sol2.c @@ -1,10 +1,12 @@ -/* Copyright (c) 2007-2017. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2007-2018. 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 "simgrid/msg.h" +#include /* sprintf */ + XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test, "Messages specific for this msg example"); #define FINALIZE ((void*)221297) /* a magic number to tell people to stop working */ @@ -32,19 +34,19 @@ static int master(int argc, char* argv[]) double comm_size = xbt_str_parse_double(argv[3], "Invalid communication size: %s"); /** - Task communication size */ /* Get the info about the worker processes (directly from SimGrid) */ - int workers_count = MSG_get_host_number(); + int worker_count = MSG_get_host_number(); msg_host_t* workers = xbt_dynar_to_array(MSG_hosts_as_dynar()); - for (int i = 0; i < workers_count; i++) // Remove my host from the list + for (int i = 0; i < worker_count; i++) // Remove my host from the list if (host_self == workers[i]) { - workers[i] = workers[workers_count - 1]; - workers_count--; + workers[i] = workers[worker_count - 1]; + worker_count--; break; } - for (int i = 0; i < workers_count; i++) + for (int i = 0; i < worker_count; i++) MSG_process_create("worker", worker, (void*)master_name, workers[i]); - XBT_INFO("Got %d workers and will send tasks for %g seconds", workers_count, timeout); + XBT_INFO("Got %d workers and will send tasks for %g seconds", worker_count, timeout); /* Dispatch the tasks */ int task_num = 0; @@ -56,7 +58,7 @@ static int master(int argc, char* argv[]) sprintf(sprintf_buffer, "Task_%d", task_num); msg_task_t task = MSG_task_create(sprintf_buffer, comp_size, comm_size, NULL); - build_channel_name(channel, master_name, MSG_host_get_name(workers[task_num % workers_count])); + build_channel_name(channel, master_name, MSG_host_get_name(workers[task_num % worker_count])); XBT_DEBUG("Sending '%s' to channel '%s'", task->name, channel); MSG_task_send(task, channel); @@ -65,9 +67,9 @@ static int master(int argc, char* argv[]) } XBT_DEBUG("All tasks have been dispatched. Let's tell everybody the computation is over."); - for (int i = 0; i < workers_count; i++) { + for (int i = 0; i < worker_count; i++) { msg_task_t finalize = MSG_task_create("finalize", 0, 0, FINALIZE); - MSG_task_send(finalize, build_channel_name(channel, master_name, MSG_host_get_name(workers[i % workers_count]))); + MSG_task_send(finalize, build_channel_name(channel, master_name, MSG_host_get_name(workers[i % worker_count]))); } XBT_DEBUG("Sent %d tasks in total!", task_num);