summaryrefslogtreecommitdiffstats
path: root/src/H5private.h
diff options
context:
space:
mode:
authorNeil Fortner <nfortne2@hdfgroup.org>2012-07-25 21:50:22 (GMT)
committerNeil Fortner <nfortne2@hdfgroup.org>2012-07-25 21:50:22 (GMT)
commitc04144fb39b6d7a489c37e89ac8a0240991026a6 (patch)
tree8f2d927263672bd7b524673a8943d1a982a8a470 /src/H5private.h
parentb5ef63b550d4d1149aebb0c46aebc7df672427aa (diff)
downloadhdf5-c04144fb39b6d7a489c37e89ac8a0240991026a6.zip
hdf5-c04144fb39b6d7a489c37e89ac8a0240991026a6.tar.gz
hdf5-c04144fb39b6d7a489c37e89ac8a0240991026a6.tar.bz2
[svn-r22601] Purpose: Fix HDFFV-5853
Description: When jumping out from between H5_BEGIN_TAG and H5_END_TAG macros using HGOTO_ERROR or HGOTO_DONE, the previous metadata tag is not reset on the dxpl. This could cause problems when, for example, calling H5Ocopy within an H5Literate callback. Added new HGOTO_ERROR_TAG and HGOTO_DONE_TAG macros which must be used in place of the above between H5_BEGIN_TAG and H5_END_TAG. Tested: jam, koala, ostrich (h5committest), durandal
Diffstat (limited to 'src/H5private.h')
-rw-r--r--src/H5private.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/H5private.h b/src/H5private.h
index 39ccb52..d30298f 100644
--- a/src/H5private.h
+++ b/src/H5private.h
@@ -2291,7 +2291,8 @@ func_init_failed: \
/* Close Function */ \
}
-/* Macro to begin/end tagging (when FUNC_ENTER_*TAG macros are insufficient) */
+/* Macro to begin/end tagging (when FUNC_ENTER_*TAG macros are insufficient).
+ * Make sure to use HGOTO_ERROR_TAG and HGOTO_DONE_TAG between these macros! */
#define H5_BEGIN_TAG(dxpl, tag, err) { \
haddr_t prv_tag = HADDR_UNDEF; \
hid_t my_dxpl_id = dxpl; \