diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2008-04-08 16:09:17 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2008-04-08 16:09:17 (GMT) |
commit | de68c607843fbfa55f94a661cf8cf58ad09adc0c (patch) | |
tree | 8185120942d326db8f36ea6ce964f6974ca57659 /src/H5private.h | |
parent | b7f6a65f7458ba351a55206abcbdc89f3c721f4b (diff) | |
download | hdf5-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.h | 29 |
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); \ |