- if (origin != MPI_GROUP_NULL && origin != MPI_GROUP_EMPTY) {
- size_ = origin->size();
- refcount_ = 1;
- rank_to_index_map_ = origin->rank_to_index_map_;
+ if (0 <= rank && rank < size_) {
+ int index = actor->get_pid();
+ if (index != MPI_UNDEFINED) {
+ if ((unsigned)index >= index_to_rank_map_.size())
+ index_to_rank_map_.resize(index + 1, MPI_UNDEFINED);
+ index_to_rank_map_[index] = rank;
+ }