Skip to content

Commit 8d939f1

Browse files
committed
Fix issue #762 by detaching the token and not the management structure.
1 parent 46f312d commit 8d939f1

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

src/runtime-libraries/mpi/mpi_caf.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1034,7 +1034,8 @@ finalize_internal(int status_code)
10341034
while (cur_stok)
10351035
{
10361036
prev_stok = cur_stok->prev;
1037-
ierr = MPI_Win_detach(global_dynamic_win, cur_stok); chk_err(ierr);
1037+
dprint("freeing slave token %p for memory %p", cur_stok->token, cur_stok->token->memptr);
1038+
ierr = MPI_Win_detach(global_dynamic_win, cur_stok->token); chk_err(ierr);
10381039
if (cur_stok->token->memptr)
10391040
{
10401041
ierr = MPI_Win_detach(global_dynamic_win, cur_stok->token->memptr);
@@ -1213,7 +1214,7 @@ PREFIX(register) (size_t size, caf_register_t type, caf_token_t *token,
12131214
struct caf_allocated_slave_tokens_t *tmp =
12141215
malloc(sizeof(struct caf_allocated_slave_tokens_t));
12151216
tmp->prev = caf_allocated_slave_tokens;
1216-
tmp->token = *token;
1217+
tmp->token = slave_token;
12171218
caf_allocated_slave_tokens = tmp;
12181219
}
12191220
else // (type == CAF_REGTYPE_COARRAY_ALLOC_ALLOCATE_ONLY)

0 commit comments

Comments
 (0)