smx_process_t *receiver_processes;
int running_hosts_count;
- smx_mutex_t running_hosts_count_mutex;
xbt_os_timer_t timer;
smx_mutex_t timer_mutex;
int i;
smpi_host_data_t hdata;
- SIMIX_mutex_lock(smpi_global->running_hosts_count_mutex);
smpi_global->running_hosts_count++;
- SIMIX_mutex_unlock(smpi_global->running_hosts_count_mutex);
// initialize some local variables
host = SIMIX_host_self();
{
int i;
- SIMIX_mutex_lock(smpi_global->running_hosts_count_mutex);
i = --smpi_global->running_hosts_count;
- SIMIX_mutex_unlock(smpi_global->running_hosts_count_mutex);
SIMIX_mutex_destroy(smpi_host_mutex());
SIMIX_cond_destroy(smpi_host_cond());
smpi_global->host_count = 0;
// running hosts
- smpi_global->running_hosts_count_mutex = SIMIX_mutex_init();
smpi_global->running_hosts_count = 0;
// mallocators
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);
}
- SIMIX_mutex_lock(smpi_global->running_hosts_count_mutex);
running_hosts_count = smpi_global->running_hosts_count;
- SIMIX_mutex_unlock(smpi_global->running_hosts_count_mutex);
} while (0 < running_hosts_count);
}
- SIMIX_mutex_lock(smpi_global->running_hosts_count_mutex);
running_hosts_count = smpi_global->running_hosts_count;
- SIMIX_mutex_unlock(smpi_global->running_hosts_count_mutex);
} while (0 < running_hosts_count);