SMPI_MPI_Global_t smpi_mpi_global = NULL;
-XBT_LOG_NEW_DEFAULT_CATEGORY(smpi, "SMPI");
+XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smpi,XBT_LOG_ROOT_CAT, "All SMPI categories (see \ref SMPI_API)");
int inline smpi_mpi_comm_size(smpi_mpi_communicator_t *comm)
{
communicate_action = SIMIX_action_communicate(shost, dhost,
NULL, request->datatype->size * request->count * 1.0, -1.0);
- SIMIX_register_condition_to_action(communicate_action, request->cond);
SIMIX_register_action_to_condition(communicate_action, request->cond);
-
SIMIX_cond_wait(request->cond, request->mutex);
+ SIMIX_unregister_action_to_condition(communicate_action, request->cond);
SIMIX_mutex_unlock(request->mutex);
mutex = SIMIX_mutex_init();
cond = SIMIX_cond_init();
- SIMIX_register_condition_to_action(compute_action, cond);
- SIMIX_register_action_to_condition(compute_action, cond);
SIMIX_mutex_lock(mutex);
+ SIMIX_register_action_to_condition(compute_action, cond);
SIMIX_cond_wait(cond, mutex);
+ SIMIX_unregister_action_to_condition(compute_action, cond);
SIMIX_mutex_unlock(mutex);
SIMIX_mutex_destroy(mutex);
mutex = SIMIX_mutex_init();
cond = SIMIX_cond_init();
- SIMIX_register_condition_to_action(sleep_action, cond);
- SIMIX_register_action_to_condition(sleep_action, cond);
SIMIX_mutex_lock(mutex);
+ SIMIX_register_action_to_condition(sleep_action, cond);
SIMIX_cond_wait(cond, mutex);
+ SIMIX_unregister_action_to_condition(sleep_action, cond);
SIMIX_mutex_unlock(mutex);
SIMIX_mutex_destroy(mutex);