Skip to content

Commit

Permalink
BUGFIX: transpose MPI_Abort arguments
Browse files Browse the repository at this point in the history
  • Loading branch information
jeffhammond committed Oct 14, 2016
1 parent 14ae9ac commit 75f9b59
Showing 1 changed file with 9 additions and 9 deletions.
18 changes: 9 additions & 9 deletions include/par-res-kern_mpi.h
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,9 @@ int PRK_Win_allocate(MPI_Aint size, int disp_unit, MPI_Info info,
MPI_Info alloc_info = MPI_INFO_NULL;
MPI_Info win_info = MPI_INFO_NULL;
rc = MPI_Alloc_mem(size, alloc_info, &baseptr);
if (rc!=MPI_SUCCESS) MPI_Abort(rc,MPI_COMM_WORLD);
if (rc!=MPI_SUCCESS) MPI_Abort(MPI_COMM_WORLD,rc);
rc = MPI_Win_create(baseptr, size, disp_unit, win_info, comm, win);
if (rc!=MPI_SUCCESS) MPI_Abort(rc,MPI_COMM_WORLD);
if (rc!=MPI_SUCCESS) MPI_Abort(MPI_COMM_WORLD,rc);
return MPI_SUCCESS;
#else
return MPI_Win_allocate(size, disp_unit, info, comm, baseptr, win);
Expand All @@ -71,21 +71,21 @@ int PRK_Win_free(MPI_Win * win)
void * attr_ptr;
#ifndef ADAPTIVE_MPI
rc = MPI_Win_get_attr(*win, MPI_WIN_BASE, (void*)&attr_ptr, &flag);
if (rc!=MPI_SUCCESS) MPI_Abort(rc,MPI_COMM_WORLD);
if (rc!=MPI_SUCCESS) MPI_Abort(MPI_COMM_WORLD,rc);
#endif
/* We do not check for the case of size=0 here,
* but it may be worth adding in the future. */
if (flag) {
void * baseptr = (void*)attr_ptr;
rc = MPI_Free_mem(baseptr);
if (rc!=MPI_SUCCESS) MPI_Abort(rc,MPI_COMM_WORLD);
if (rc!=MPI_SUCCESS) MPI_Abort(MPI_COMM_WORLD,rc);
} else {
int rank;
MPI_Comm_rank(MPI_COMM_WORLD,&rank);
printf("%d: could not capture baseptr from win attribute: memory leak.\n",rank);
}
rc = MPI_Win_free(win);
if (rc!=MPI_SUCCESS) MPI_Abort(rc,MPI_COMM_WORLD);
if (rc!=MPI_SUCCESS) MPI_Abort(MPI_COMM_WORLD,rc);
return MPI_SUCCESS;
#else
int free_mem = 0;
Expand All @@ -95,7 +95,7 @@ int PRK_Win_free(MPI_Win * win)
void * attr_ptr;
#ifndef ADAPTIVE_MPI
rc = MPI_Win_get_attr(*win, MPI_WIN_CREATE_FLAVOR, (void*)&attr_ptr, &flag);
if (rc!=MPI_SUCCESS) MPI_Abort(rc,MPI_COMM_WORLD);
if (rc!=MPI_SUCCESS) MPI_Abort(MPI_COMM_WORLD,rc);
#endif
if (flag) {
int * flavor = (int*)attr_ptr;
Expand All @@ -104,7 +104,7 @@ int PRK_Win_free(MPI_Win * win)
flag = 0;
#ifndef ADAPTIVE_MPI
rc = MPI_Win_get_attr(*win, MPI_WIN_BASE, (void*)&attr_ptr, &flag);
if (rc!=MPI_SUCCESS) MPI_Abort(rc,MPI_COMM_WORLD);
if (rc!=MPI_SUCCESS) MPI_Abort(MPI_COMM_WORLD,rc);
#endif
/* ...and free the base address. */
if (flag) {
Expand All @@ -118,10 +118,10 @@ int PRK_Win_free(MPI_Win * win)
}
}
rc = MPI_Win_free(win);
if (rc!=MPI_SUCCESS) MPI_Abort(rc,MPI_COMM_WORLD);
if (rc!=MPI_SUCCESS) MPI_Abort(MPI_COMM_WORLD,rc);
if (free_mem) {
rc = MPI_Free_mem(baseptr);
if (rc!=MPI_SUCCESS) MPI_Abort(rc,MPI_COMM_WORLD);
if (rc!=MPI_SUCCESS) MPI_Abort(MPI_COMM_WORLD,rc);
}
return MPI_SUCCESS;
#endif
Expand Down

0 comments on commit 75f9b59

Please sign in to comment.