X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/49637c6fbea1f5e16060fcceb844a637f50869ed..c25a26b26202c93dc2bfa44d214b8f804b78b8b3:/teshsuite/msg/host_on_off/host_on_off.c diff --git a/teshsuite/msg/host_on_off/host_on_off.c b/teshsuite/msg/host_on_off/host_on_off.c index fe7a4fd977..db526a4302 100644 --- a/teshsuite/msg/host_on_off/host_on_off.c +++ b/teshsuite/msg/host_on_off/host_on_off.c @@ -1,4 +1,4 @@ -/* Copyright (c) 2010-2015. The SimGrid Team. +/* Copyright (c) 2010-2019. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -13,12 +13,14 @@ static int slave(int argc, char *argv[]) msg_task_t task = NULL; XBT_ATTRIB_UNUSED int res; int id = -1; - char mailbox[80]; - - sprintf(mailbox, "jupi"); + const char * mailbox = "jupi"; while (1) { res = MSG_task_receive(&(task), mailbox); + if (res == MSG_HOST_FAILURE) { + XBT_DEBUG("The host has been turned off, this was expected"); + return 1; + } xbt_assert(res == MSG_OK, "MSG_task_get failed"); if (!strcmp(MSG_task_get_name(task), "finalize")) { @@ -41,13 +43,11 @@ static int master(int argc, char *argv[]) double task_comp_size = 5E7; double task_comm_size = 1E6; - char mailbox[256]; - msg_task_t task = NULL; + const char * mailbox = "jupi"; msg_host_t jupiter = MSG_host_by_name("Jupiter"); - sprintf(mailbox, "jupi"); - task = MSG_task_create("task on", task_comp_size, task_comm_size, NULL); - XBT_INFO("Sending \"%s\"", task->name); + msg_task_t task = MSG_task_create("task on", task_comp_size, task_comm_size, NULL); + XBT_INFO("Sending \"%s\"", MSG_task_get_name(task)); if (MSG_task_send_with_timeout(task, mailbox, 1) != MSG_OK) MSG_task_destroy(task); @@ -55,19 +55,23 @@ static int master(int argc, char *argv[]) MSG_host_off(jupiter); task = MSG_task_create("task off", task_comp_size, task_comm_size, NULL); - XBT_INFO("Sending \"%s\"", task->name); + XBT_INFO("Sending \"%s\"", MSG_task_get_name(task)); if (MSG_task_send_with_timeout(task, mailbox, 1) != MSG_OK) MSG_task_destroy(task); MSG_host_on(jupiter); - xbt_swag_t jupi_processes = MSG_host_get_process_list(jupiter); - void *process; - xbt_swag_foreach(process, jupi_processes) { + + xbt_dynar_t jupi_processes = xbt_dynar_new(sizeof(msg_process_t), NULL); + MSG_host_get_process_list(jupiter, jupi_processes); + msg_process_t process = NULL; + unsigned int cursor; + xbt_dynar_foreach (jupi_processes, cursor, process) { MSG_process_kill(process); } + xbt_dynar_free(&jupi_processes); task = MSG_task_create("task on without proc", task_comp_size, task_comm_size, NULL); - XBT_INFO("Sending \"%s\"", task->name); + XBT_INFO("Sending \"%s\"", MSG_task_get_name(task)); if (MSG_task_send_with_timeout(task, mailbox, 1) != MSG_OK) MSG_task_destroy(task); @@ -76,12 +80,12 @@ static int master(int argc, char *argv[]) MSG_process_create_with_arguments("slave", slave, NULL, MSG_host_by_name("Jupiter"), 1, argvF); task = MSG_task_create("task on with proc", task_comp_size, task_comm_size, NULL); - XBT_INFO("Sending \"%s\"", task->name); + XBT_INFO("Sending \"%s\"", MSG_task_get_name(task)); if (MSG_task_send_with_timeout(task, mailbox, 1) != MSG_OK) MSG_task_destroy(task); task = MSG_task_create("finalize", 0, 0, 0); - XBT_INFO("Sending \"%s\"", task->name); + XBT_INFO("Sending \"%s\"", MSG_task_get_name(task)); if (MSG_task_send_with_timeout(task, mailbox, 1) != MSG_OK) MSG_task_destroy(task);