// config variable
smpi_global->reference_speed = SMPI_DEFAULT_SPEED;
- smpi_global->root_ready = 0;
- smpi_global->ready_process_count = 0;
-
- // start/stop
- smpi_global->start_stop_mutex = SIMIX_mutex_init();
- smpi_global->start_stop_cond = SIMIX_cond_init();
-
// host info blank until sim starts
// FIXME: is this okay?
smpi_global->hosts = NULL;
smpi_global->host_count = 0;
// running hosts
- smpi_global->running_hosts_count_mutex = SIMIX_mutex_init();
smpi_global->running_hosts_count = 0;
// mallocators
// queues
smpi_global->pending_send_request_queues = xbt_new(xbt_fifo_t, size);
- smpi_global->pending_send_request_queues_mutexes =
- xbt_new(smx_mutex_t, size);
smpi_global->pending_recv_request_queues = xbt_new(xbt_fifo_t, size);
- smpi_global->pending_recv_request_queues_mutexes =
- xbt_new(smx_mutex_t, size);
smpi_global->received_message_queues = xbt_new(xbt_fifo_t, size);
- smpi_global->received_message_queues_mutexes = xbt_new(smx_mutex_t, size);
// sender/receiver processes
smpi_global->sender_processes = xbt_new(smx_process_t, size);
for (i = 0; i < size; i++) {
smpi_global->pending_send_request_queues[i] = xbt_fifo_new();
- smpi_global->pending_send_request_queues_mutexes[i] = SIMIX_mutex_init();
smpi_global->pending_recv_request_queues[i] = xbt_fifo_new();
- smpi_global->pending_recv_request_queues_mutexes[i] = SIMIX_mutex_init();
smpi_global->received_message_queues[i] = xbt_fifo_new();
- smpi_global->received_message_queues_mutexes[i] = SIMIX_mutex_init();
}
smpi_global->hosts = SIMIX_host_get_table();
smpi_do_once_duration_node_t curr, next;
- // start/stop
- SIMIX_mutex_destroy(smpi_global->start_stop_mutex);
- SIMIX_cond_destroy(smpi_global->start_stop_cond);
-
// processes
xbt_free(smpi_global->sender_processes);
xbt_free(smpi_global->receiver_processes);
- // running hosts
- SIMIX_mutex_destroy(smpi_global->running_hosts_count_mutex);
-
// mallocators
xbt_mallocator_free(smpi_global->request_mallocator);
xbt_mallocator_free(smpi_global->message_mallocator);
for (i = 0; i < size; i++) {
xbt_fifo_free(smpi_global->pending_send_request_queues[i]);
- SIMIX_mutex_destroy(smpi_global->pending_send_request_queues_mutexes[i]);
xbt_fifo_free(smpi_global->pending_recv_request_queues[i]);
- SIMIX_mutex_destroy(smpi_global->pending_recv_request_queues_mutexes[i]);
xbt_fifo_free(smpi_global->received_message_queues[i]);
- SIMIX_mutex_destroy(smpi_global->received_message_queues_mutexes[i]);
}
xbt_free(smpi_global->pending_send_request_queues);
- xbt_free(smpi_global->pending_send_request_queues_mutexes);
xbt_free(smpi_global->pending_recv_request_queues);
- xbt_free(smpi_global->pending_recv_request_queues_mutexes);
xbt_free(smpi_global->received_message_queues);
- xbt_free(smpi_global->received_message_queues_mutexes);
xbt_free(smpi_global);