X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/0ca1291c2f63ca6235f4b4885c48413a900aade4..74daad476adad6eaa30e526ed6acdb97a0ec6f86:/examples/msg/chord/chord.c diff --git a/examples/msg/chord/chord.c b/examples/msg/chord/chord.c index 3c287b7d41..082a555fd6 100644 --- a/examples/msg/chord/chord.c +++ b/examples/msg/chord/chord.c @@ -349,6 +349,7 @@ int node(int argc, char *argv[]) if (status != MSG_OK) { XBT_DEBUG("Failed to receive a task. Nevermind."); + MSG_comm_destroy(node.comm_receive); node.comm_receive = NULL; } else { @@ -358,35 +359,12 @@ int node(int argc, char *argv[]) handle_task(&node, task_received); } } - - // see if some communications are finished - /* - while ((index = MSG_comm_testany(node.comms)) != -1) { - comm_send = xbt_dynar_get_as(node.comms, index, msg_comm_t); - MSG_error_t status = MSG_comm_get_status(comm_send); - xbt_dynar_remove_at(node.comms, index, &comm_send); - XBT_DEBUG("Communication %p is finished with status %d, dynar size is now %lu", - comm_send, status, xbt_dynar_length(node.comms)); - m_task_t task = MSG_comm_get_task(comm_send); - MSG_comm_destroy(comm_send); - if (status != MSG_OK) { - task_data_destroy(MSG_task_get_data(task)); - MSG_task_destroy(task); - } - } - */ } - // clean unfinished comms sent - /* unsigned int cursor; - xbt_dynar_foreach(node.comms, cursor, comm_send) { - m_task_t task = MSG_comm_get_task(comm_send); - MSG_task_cancel(task); - task_data_destroy(MSG_task_get_data(task)); - MSG_task_destroy(task); - MSG_comm_destroy(comm_send); - // FIXME: the task is actually not destroyed because MSG thinks that the other side (whose process is dead) is still using it - }*/ + if (node.comm_receive) { + MSG_comm_destroy(node.comm_receive); + node.comm_receive = NULL; + } // leave the ring leave(&node); @@ -890,8 +868,6 @@ static void random_lookup(node_t node) */ int main(int argc, char *argv[]) { - xbt_os_timer_t timer = xbt_os_timer_new(); - if (argc < 3) { printf("Usage: %s [-nb_bits=n] [-timeout=t] platform_file deployment_file\n", argv[0]); printf("example: %s ../msg_platform.xml chord.xml\n", argv[0]); @@ -933,10 +909,8 @@ int main(int argc, char *argv[]) MSG_function_register("node", node); MSG_launch_application(application_file); - xbt_os_timer_start(timer); MSG_error_t res = MSG_main(); - xbt_os_timer_stop(timer); - XBT_CRITICAL("Simulation time %lf, messages created: %ld", xbt_os_timer_elapsed(timer), smx_total_comms); + XBT_CRITICAL("Messages created: %ld", smx_total_comms); XBT_INFO("Simulated time: %g", MSG_get_clock()); MSG_clean();