diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2005-10-03 05:50:05 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2005-10-03 05:50:05 (GMT) |
commit | e21f821fc3cf10a549ccb849174b8a5a8f7cc90a (patch) | |
tree | 200ec069508aa5b2f831cfda31c0b239a0f5d1cc /src/H5F.c | |
parent | c13178a42d007a4fb209d9b07bc2b018ac2756e4 (diff) | |
download | hdf5-e21f821fc3cf10a549ccb849174b8a5a8f7cc90a.zip hdf5-e21f821fc3cf10a549ccb849174b8a5a8f7cc90a.tar.gz hdf5-e21f821fc3cf10a549ccb849174b8a5a8f7cc90a.tar.bz2 |
[svn-r11490] Purpose:
Bug fix
Description:
Fix "double root open" bug and apply same fix to datasets & named datatypes.
Also fix bug in symbol table entry lookup code that would "transfer" an
object from one file handle to another file handle when the two file handles
were opened on the same actual file.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Too minor to require h5committest
Diffstat (limited to 'src/H5F.c')
-rw-r--r-- | src/H5F.c | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -1532,6 +1532,10 @@ H5F_new(H5F_file_t *shared, hid_t fcpl_id, hid_t fapl_id, H5FD_t *lf) f->shared->nrefs++; + /* Create the file's "top open object" information */ + if(H5FO_top_create(f)<0) + HGOTO_ERROR(H5E_FILE, H5E_CANTINIT, NULL, "unable to create open object data structure") + /* Set return value */ ret_value = f; @@ -1651,6 +1655,8 @@ H5F_dest(H5F_t *f, hid_t dxpl_id) f->name = H5MM_xfree(f->name); f->mtab.child = H5MM_xfree(f->mtab.child); f->mtab.nalloc = 0; + if(H5FO_top_dest(f) < 0) + HDONE_ERROR(H5E_FILE, H5E_CANTINIT, FAIL, "problems closing file") H5FL_FREE(H5F_t,f); FUNC_LEAVE_NOAPI(ret_value) |