Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
move examples/msg/process-yield to teshsuite
[simgrid.git] / teshsuite / msg / host_on_off / host_on_off.c
index fcb42c6..f714d3f 100644 (file)
@@ -40,10 +40,9 @@ static int master(int argc, char *argv[])
   double task_comm_size = 1E6;
 
   const char * mailbox = "jupi";
-  msg_task_t task = NULL;
   msg_host_t jupiter = MSG_host_by_name("Jupiter");
 
-  task = MSG_task_create("task on", task_comp_size, task_comm_size, NULL);
+  msg_task_t task = MSG_task_create("task on", task_comp_size, task_comm_size, NULL);
   XBT_INFO("Sending \"%s\"", task->name);
   if (MSG_task_send_with_timeout(task, mailbox, 1) != MSG_OK)
     MSG_task_destroy(task);
@@ -57,11 +56,15 @@ static int master(int argc, char *argv[])
     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);