summaryrefslogtreecommitdiffstats
path: root/src/H5Opkg.h
diff options
context:
space:
mode:
authorVailin Choi <vchoi@hdfgroup.org>2012-03-28 06:21:14 (GMT)
committerVailin Choi <vchoi@hdfgroup.org>2012-03-28 06:21:14 (GMT)
commitb643da672a7d0f0a52ecfef2c229e73876e0e13d (patch)
treec7e1b198aabf41b0e947a1b5372ab147a718a5d9 /src/H5Opkg.h
parent0ce5cbc925da284019918d36a72eb30e96d9789b (diff)
downloadhdf5-b643da672a7d0f0a52ecfef2c229e73876e0e13d.zip
hdf5-b643da672a7d0f0a52ecfef2c229e73876e0e13d.tar.gz
hdf5-b643da672a7d0f0a52ecfef2c229e73876e0e13d.tar.bz2
[svn-r22164] Fixed a bug in H5Ocopy(): When copying an opened object, call the object's
flush class action to ensure that cached data is flushed so that H5Ocopy will get the correct data. (HDFFV-7853)
Diffstat (limited to 'src/H5Opkg.h')
-rw-r--r--src/H5Opkg.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/H5Opkg.h b/src/H5Opkg.h
index a5d01bd..d4df79b 100644
--- a/src/H5Opkg.h
+++ b/src/H5Opkg.h
@@ -325,6 +325,7 @@ typedef struct H5O_obj_class_t {
void *(*create)(H5F_t *, void *, H5G_loc_t *, hid_t ); /*create an object of this class */
H5O_loc_t *(*get_oloc)(hid_t ); /*get the object header location for an object */
herr_t (*bh_info)(H5F_t *f, hid_t dxpl_id, H5O_t *oh, H5_ih_info_t *bh_info); /*get the index & heap info for an object */
+ herr_t (*flush)(H5G_loc_t *loc, hid_t dxpl_id); /*flush an opened object of this class */
} H5O_obj_class_t;
/* Node in skip list to map addresses from one file to another during object header copy */
@@ -527,7 +528,7 @@ H5_DLL herr_t H5O_msg_flush(H5F_t *f, H5O_t *oh, H5O_mesg_t *mesg);
H5_DLL herr_t H5O_flush_msgs(H5F_t *f, H5O_t *oh);
H5_DLL hid_t H5O_open_by_loc(const H5G_loc_t *obj_loc, hid_t lapl_id, hid_t dxpl_id, hbool_t app_ref);
H5_DLL herr_t H5O_delete_mesg(H5F_t *f, hid_t dxpl_id, H5O_t *open_oh, H5O_mesg_t *mesg);
-H5_DLL const H5O_obj_class_t *H5O_obj_class_real(H5O_t *oh);
+H5_DLL const H5O_obj_class_t * H5O_obj_class(const H5O_loc_t *loc, hid_t dxpl_id);
H5_DLL int H5O_link_oh(H5F_t *f, int adjust, hid_t dxpl_id, H5O_t *oh, hbool_t *deleted);
H5_DLL herr_t H5O_inc_rc(H5O_t *oh);
H5_DLL herr_t H5O_dec_rc(H5O_t *oh);