-void Comm::use(){
- if (this == MPI_COMM_UNINITIALIZED)
- return smpi_process_comm_world()->use();
- m_group->use();
- m_refcount++;
-}
-
-void Comm::cleanup_attributes(){
- if(m_attributes !=nullptr){
- xbt_dict_cursor_t cursor = nullptr;
- char* key;
- void* value;
- int flag;
- xbt_dict_foreach (m_attributes, cursor, key, value) {
- smpi_comm_key_elem elem = static_cast<smpi_comm_key_elem>(xbt_dict_get_or_null(smpi_comm_keyvals, key));
- if (elem != nullptr && elem->delete_fn != nullptr)
- elem->delete_fn(this, atoi(key), value, &flag);
- }
- xbt_dict_free(&m_attributes);