X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/193e26b3f5577626bce1131ea5977663610e8a0b..e215a56471f124e0ec8a9893fd88fe32ecde0c61:/doc/tuto-msg/masterworker-sol4.c?ds=sidebyside diff --git a/doc/tuto-msg/masterworker-sol4.c b/doc/tuto-msg/masterworker-sol4.c index a322cbbceb..6235ed639f 100644 --- a/doc/tuto-msg/masterworker-sol4.c +++ b/doc/tuto-msg/masterworker-sol4.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 */ @@ -34,23 +36,22 @@ 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 */ - 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 */ - xbt_dynar_t idle_hosts = xbt_dynar_new(sizeof(msg_host_t), NULL); - int task_num = 0; + int task_num = 0; while (MSG_get_clock() < timeout) { /* Retrieve the next incomming request */ @@ -77,7 +78,7 @@ static int master(int argc, char* argv[]) } XBT_DEBUG("Time is up. Let's tell everybody the computation is over."); - for (int i = 0; i < workers_count; i++) { /* We don't write in order, but the total amount is right + for (int i = 0; i < worker_count; i++) { /* We don't write in order, but the total amount is right */ /* Don't write to a worker that did not request for work, or it will deadlock: both would be sending something */ msg_task_t request = NULL;