On Tue, Jul 23, 2013 at 12:41:05PM +1000, Martijn Jasperse wrote:
> Hi Dana,
> Thanks for the explanation - I jumped at a false positive! My "minimal
> example" was perhaps a bit too minimal; not enough coffee leads to bad
> conclusions. I'll continue to probe the rest of my code, no doubt it's a
> missing H5*close somewhere.
If you need help tracking down these resources, here is some code. You
probably need to change 'fp' to whatever identifier you are using for HDF5
files.
-------------------------------------
ssize_t norphans;
norphans = H5Fget_obj_count(fp, H5F_OBJ_ALL);
if (norphans > 1) { /* expect 1 for the file we have not closed */
int i;
H5O_info_t info;
char name[64];
hid_t * objects = calloc(norphans, sizeof(hid_t));
H5Fget_obj_ids(fp, H5F_OBJ_ALL, -1, objects);
for (i=0; i<norphans; i++) {
H5Oget_info(objects[i], &info);
H5Iget_name(objects[i], name, 64);
printf("%d of %zd things still open: %d with name %s of type %d",
i, norphans, objects[i], name, info.type);
}
free(objects);
}
-------------------------------------
==rob
--
Rob Latham
Mathematics and Computer Science Division
Argonne National Lab, IL USA
_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org