Skip to content

Commit 599bb92

Browse files
committed
Move calls to MPI_Type_free before ncmpi_close
1 parent bccd432 commit 599bb92

File tree

11 files changed

+30
-27
lines changed

11 files changed

+30
-27
lines changed

examples/C/vard_int.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,10 +210,11 @@ int main(int argc, char **argv) {
210210
err = ncmpi_get_vard_all(ncid, varid0, rec_filetype, buf, bufcount,buftype);
211211
ERR
212212

213-
err = ncmpi_close(ncid); ERR
214213
MPI_Type_free(&rec_filetype);
215214
MPI_Type_free(&fix_filetype);
216215

216+
err = ncmpi_close(ncid); ERR
217+
217218
nerrs += pnetcdf_check_mem_usage(MPI_COMM_WORLD);
218219

219220
MPI_Finalize();

examples/CXX/vard_int.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -184,15 +184,15 @@ int main(int argc, char** argv)
184184

185185
/* read the fixed-size variable */
186186
var1.getVard_all(fix_filetype, buf, bufcount, buftype);
187+
188+
MPI_Type_free(&rec_filetype);
189+
MPI_Type_free(&fix_filetype);
187190
}
188191
catch(NcmpiException& e) {
189192
cout << e.what() << " error code=" << e.errorCode() << " Error!\n";
190193
return 1;
191194
}
192195

193-
MPI_Type_free(&rec_filetype);
194-
MPI_Type_free(&fix_filetype);
195-
196196
/* check if there is any PnetCDF internal malloc residue */
197197
MPI_Offset malloc_size, sum_size;
198198
int err = ncmpi_inq_malloc_size(&malloc_size);

examples/F77/vard_int.f

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -215,13 +215,13 @@ program main
215215
+ bufcount, buftype)
216216
call check(err, 'In nfmpi_get_vard_all: ')
217217

218+
call MPI_Type_free(rec_filetype, err)
219+
call MPI_Type_free(fix_filetype, err)
220+
218221
! close the file
219222
err = nfmpi_close(ncid)
220223
call check(err, 'In nfmpi_close: ')
221224

222-
call MPI_Type_free(rec_filetype, err)
223-
call MPI_Type_free(fix_filetype, err)
224-
225225
! check if there is any PnetCDF internal malloc residue
226226
998 format(A,I13,A)
227227
err = nfmpi_inq_malloc_size(malloc_size)

examples/F90/vard_int.f90

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -202,13 +202,13 @@ program main
202202
bufcount, buftype)
203203
call check(err, 'In nf90mpi_get_vard_all: ')
204204

205+
call MPI_Type_free(rec_filetype, err)
206+
call MPI_Type_free(fix_filetype, err)
207+
205208
! close the file
206209
err = nf90mpi_close(ncid)
207210
call check(err, 'In nf90mpi_close: ')
208211

209-
call MPI_Type_free(rec_filetype, err)
210-
call MPI_Type_free(fix_filetype, err)
211-
212212
! check if there is any PnetCDF internal malloc residue
213213
998 format(A,I13,A)
214214
err = nf90mpi_inq_malloc_size(malloc_size)

test/largefile/large_reqs.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -259,10 +259,10 @@ int tst_vars(char *filename, MPI_Comm comm)
259259
err = ncmpi_wait_all(ncid, NC_REQ_ALL, NULL, NULL);
260260
CHECK_ERR
261261

262-
err = ncmpi_close(ncid); CHECK_ERR
263-
264262
MPI_Type_free(&buftype);
265263

264+
err = ncmpi_close(ncid); CHECK_ERR
265+
266266
free(varid);
267267
free(buf);
268268

test/testcases/flexible_api.f

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -273,12 +273,12 @@ program main
273273
err = nfmpi_wait_all(ncid, 1, req, st)
274274
call check(err, 'In nfmpi_wait_all:')
275275

276+
call MPI_Type_free(subarray, err)
277+
276278
! close the file
277279
err = nfmpi_close(ncid)
278280
call check(err, 'In nfmpi_close: ')
279281

280-
call MPI_Type_free(subarray, err)
281-
282282
! check if there is any PnetCDF internal malloc residue
283283
998 format(A,I13,A)
284284
err = nfmpi_inq_malloc_size(malloc_size)

test/testcases/flexible_var.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -481,10 +481,10 @@ int main(int argc, char** argv)
481481
/* check the contents of get buffer */
482482
CHECK_GET_BUF(NY, NX, buf)
483483

484-
err = ncmpi_close(ncid); CHECK_ERROUT
485-
486484
MPI_Type_free(&subarray);
487485

486+
err = ncmpi_close(ncid); CHECK_ERROUT
487+
488488
/* check if PnetCDF freed all internal malloc */
489489
MPI_Offset malloc_size, sum_size;
490490
err = ncmpi_inq_malloc_size(&malloc_size);

test/testcases/test_vard.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -486,8 +486,6 @@ int main(int argc, char **argv) {
486486
}
487487
free(schar_buf);
488488

489-
err = ncmpi_close(ncid); CHECK_ERR
490-
491489
MPI_Type_free(&rec_filetype);
492490
MPI_Type_free(&fix_filetype);
493491
MPI_Type_free(&buftype);
@@ -500,6 +498,8 @@ int main(int argc, char **argv) {
500498
free(flt_buf[0]); free(flt_buf);
501499
free(dbl_buf[0]); free(dbl_buf);
502500

501+
err = ncmpi_close(ncid); CHECK_ERR
502+
503503
/* check if PnetCDF freed all internal malloc */
504504
MPI_Offset malloc_size, sum_size;
505505
err = ncmpi_inq_malloc_size(&malloc_size);

test/testcases/test_vardf.F

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -392,15 +392,15 @@ program main
392392
call get_var_and_verify(ncid, varid1, NX,NY,start, count, buf,
393393
+ buftype, ghost_buftype, fix_filetype, nerrs)
394394

395-
! close the file
396-
err = nfmpi_close(ncid)
397-
call check(err, 'In nfmpi_close: ')
398-
399395
call MPI_Type_free(rec_filetype, ierr)
400396
call MPI_Type_free(fix_filetype, ierr)
401397
call MPI_Type_free(buftype, ierr)
402398
call MPI_Type_free(ghost_buftype, ierr)
403399

400+
! close the file
401+
err = nfmpi_close(ncid)
402+
call check(err, 'In nfmpi_close: ')
403+
404404
! check if there is any PnetCDF internal malloc residue
405405
998 format(A,I13,A)
406406
err = nfmpi_inq_malloc_size(malloc_size)

test/testcases/test_vardf90.f90

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -371,15 +371,15 @@ program main
371371
call get_var_and_verify(ncid, varid1, NX,NY,start, count, buf, &
372372
buftype, ghost_buftype, fix_filetype, nerrs)
373373

374-
! close the file
375-
err = nf90mpi_close(ncid)
376-
call check(err, 'In nf90mpi_close: ')
377-
378374
call MPI_Type_free(rec_filetype, ierr)
379375
call MPI_Type_free(fix_filetype, ierr)
380376
call MPI_Type_free(buftype, ierr)
381377
call MPI_Type_free(ghost_buftype, ierr)
382378

379+
! close the file
380+
err = nf90mpi_close(ncid)
381+
call check(err, 'In nf90mpi_close: ')
382+
383383
! check if there is any PnetCDF internal malloc residue
384384
998 format(A,I13,A)
385385
err = nfmpi_inq_malloc_size(malloc_size)

test/testcases/vectors.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,9 @@ int main(int argc, char ** argv)
101101
CHECK_ERR
102102
err = ncmpi_get_vara(ncid, varid, &start, &acount, cmpbuf, 1, usertype);
103103
CHECK_ERR
104+
105+
MPI_Type_free(&usertype);
106+
104107
err = ncmpi_close(ncid);
105108
CHECK_ERR
106109

@@ -116,7 +119,6 @@ int main(int argc, char ** argv)
116119
nerrs += errs;
117120
free(userbuf);
118121
free(cmpbuf);
119-
MPI_Type_free(&usertype);
120122

121123
/* check if PnetCDF freed all internal malloc */
122124
MPI_Offset malloc_size, sum_size;

0 commit comments

Comments
 (0)