summaryrefslogtreecommitdiffstats
path: root/src/H5private.h
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2008-04-08 16:09:17 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2008-04-08 16:09:17 (GMT)
commitde68c607843fbfa55f94a661cf8cf58ad09adc0c (patch)
tree8185120942d326db8f36ea6ce964f6974ca57659 /src/H5private.h
parentb7f6a65f7458ba351a55206abcbdc89f3c721f4b (diff)
downloadhdf5-de68c607843fbfa55f94a661cf8cf58ad09adc0c.zip
hdf5-de68c607843fbfa55f94a661cf8cf58ad09adc0c.tar.gz
hdf5-de68c607843fbfa55f94a661cf8cf58ad09adc0c.tar.bz2
[svn-r14811] Description:
Add "_META" suffix to FUNC_ENTER/FUNC_LEAVE API routines that can modify metadata in the file. This will give us a single place to change to recording the beginning & ending of transactions. Tested on: FreeBSD/32 6.2 (duty) Too simple to require h5committest
Diffstat (limited to 'src/H5private.h')
-rw-r--r--src/H5private.h29
1 files changed, 21 insertions, 8 deletions
diff --git a/src/H5private.h b/src/H5private.h
index e5fa35a..54f99ac1 100644
--- a/src/H5private.h
+++ b/src/H5private.h
@@ -1232,6 +1232,16 @@ static herr_t H5_INTERFACE_INIT_FUNC(void);
H5E_clear_stack(NULL); \
{
+/* Use this macro for API functions that [could] modify metadata */
+#define FUNC_ENTER_API_META(func_name,err) {{ \
+ FUNC_ENTER_API_VARS(func_name) \
+ FUNC_ENTER_COMMON(func_name,H5_IS_API(#func_name)); \
+ FUNC_ENTER_API_THREADSAFE; \
+ FUNC_ENTER_API_COMMON(func_name,err); \
+ /* Clear thread error stack entering public functions */ \
+ H5E_clear_stack(NULL); \
+ {
+
/*
* Use this macro for API functions that shouldn't clear the error stack
* like H5Eprint and H5Ewalk.
@@ -1357,14 +1367,6 @@ static herr_t H5_INTERFACE_INIT_FUNC(void);
*
* Programmer: Quincey Koziol
*
- * Modifications:
- *
- * Robb Matzke, 4 Aug 1997
- * The pablo mask comes from the constant PABLO_MASK defined on a
- * per-file basis. The pablo_func_id comes from an auto variable
- * defined by FUNC_ENTER.
- * PABLO was deleted on January 21, 2005 EIP
- *
*-------------------------------------------------------------------------
*/
#define FUNC_LEAVE_API(ret_value) \
@@ -1376,6 +1378,7 @@ static herr_t H5_INTERFACE_INIT_FUNC(void);
} /*end scope from end of FUNC_ENTER*/ \
}} /*end scope from beginning of FUNC_ENTER*/
+/* Use this macro to match the FUNC_ENTER_API_NOFS macro */
#define FUNC_LEAVE_API_NOFS(ret_value) \
FINISH_MPE_LOG; \
H5TRACE_RETURN(ret_value); \
@@ -1384,6 +1387,16 @@ static herr_t H5_INTERFACE_INIT_FUNC(void);
} /*end scope from end of FUNC_ENTER*/ \
}} /*end scope from beginning of FUNC_ENTER*/
+/* Use this macro to match the FUNC_ENTER_API_META macro */
+#define FUNC_LEAVE_API_META(ret_value) \
+ FINISH_MPE_LOG; \
+ H5TRACE_RETURN(ret_value); \
+ H5_POP_FUNC; \
+ FUNC_LEAVE_API_THREADSAFE \
+ return (ret_value); \
+ } /*end scope from end of FUNC_ENTER*/ \
+}} /*end scope from beginning of FUNC_ENTER*/
+
#define FUNC_LEAVE_NOAPI(ret_value) \
H5_POP_FUNC; \
return (ret_value); \