diff options
author | Vailin Choi <vchoi@hdfgroup.org> | 2009-04-16 15:21:01 (GMT) |
---|---|---|
committer | Vailin Choi <vchoi@hdfgroup.org> | 2009-04-16 15:21:01 (GMT) |
commit | 35bbc743d4cf77d6aa8af2acf5578db02e5129ca (patch) | |
tree | 7da01b2a6b5eee7c1cef255d64702071dea01572 /src/H5Dpkg.h | |
parent | 52fed52f9c6078729586186594e6e6955becb984 (diff) | |
download | hdf5-35bbc743d4cf77d6aa8af2acf5578db02e5129ca.zip hdf5-35bbc743d4cf77d6aa8af2acf5578db02e5129ca.tar.gz hdf5-35bbc743d4cf77d6aa8af2acf5578db02e5129ca.tar.bz2 |
[svn-r16764] To fix a bug in extensible arrays as chunk index:
When the dataset is closed in H5D_close(), the pointer
to the extensible array struct in the layout message
is copied via H5D_flush_real() before H5D_chunk_dest().
This causes an abort from "Assertion `ea->hdr' failed"
later when the dataset is re-opened and read.
The bug was fixed by adding a flag to the reset function
for indexed storage to set/not set the address of the indexed
array. H5O_layout_copy() calls H5D_chunk_idx_reset() to reset
only the pointer of the array struct for the chunked index storage.
Diffstat (limited to 'src/H5Dpkg.h')
-rw-r--r-- | src/H5Dpkg.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/H5Dpkg.h b/src/H5Dpkg.h index 4122326..b936dba 100644 --- a/src/H5Dpkg.h +++ b/src/H5Dpkg.h @@ -281,7 +281,7 @@ typedef herr_t (*H5D_chunk_copy_shutdown_func_t)(H5O_layout_t *layout_src, H5O_layout_t *layout_dst, hid_t dxpl_id); typedef herr_t (*H5D_chunk_size_func_t)(const H5D_chk_idx_info_t *idx_info, hsize_t *idx_size); -typedef herr_t (*H5D_chunk_reset_func_t)(H5O_layout_t *layout); +typedef herr_t (*H5D_chunk_reset_func_t)(H5O_layout_t *layout, hbool_t reset_addr); typedef herr_t (*H5D_chunk_dump_func_t)(const H5D_chk_idx_info_t *idx_info, FILE *stream); typedef herr_t (*H5D_chunk_dest_func_t)(const H5D_chk_idx_info_t *idx_info); |