if((*win)->info!=MPI_INFO_NULL){
MPI_Info_free(&(*win)->info);
}
+
+ mpi_coll_barrier_fun((*win)->comm);
+ int rank=smpi_comm_rank((*win)->comm);
+ if(rank == 0)
+ xbt_barrier_destroy((*win)->bar);
xbt_free(*win);
*win = MPI_WIN_NULL;
return MPI_SUCCESS;
win->requests=xbt_dynar_new(sizeof(MPI_Request), NULL);
smpi_mpi_waitall(size,treqs,MPI_STATUSES_IGNORE);
xbt_free(treqs);
+ smpi_group_unuse(win->group);
win->opened--; //we're closed for business !
return MPI_SUCCESS;
}
win->requests=xbt_dynar_new(sizeof(MPI_Request), NULL);
smpi_mpi_waitall(size,treqs,MPI_STATUSES_IGNORE);
xbt_free(treqs);
+ smpi_group_unuse(win->group);
win->opened--; //we're opened for business !
return MPI_SUCCESS;
}