summaryrefslogtreecommitdiffstats
path: root/src/H5private.h
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2008-06-06 20:25:35 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2008-06-06 20:25:35 (GMT)
commit791ab755ac81dc50adabdfe269107722da90f659 (patch)
tree0ff85448b4b81ad38b205e613d4f0eb4e255b83d /src/H5private.h
parent44db7da08789c0a2c4b82d74f70fbe6b1831eefd (diff)
downloadhdf5-791ab755ac81dc50adabdfe269107722da90f659.zip
hdf5-791ab755ac81dc50adabdfe269107722da90f659.tar.gz
hdf5-791ab755ac81dc50adabdfe269107722da90f659.tar.bz2
[svn-r15171] Description:
Convert the symbol table node metadata cache client to use the new journaling cache callbacks. Also added a 'H5F_t *' parameter to the 'serialize' callback for the journaling cache, which makes the client's job much easier. Various minor coding cleanups, etc. also. Tested on: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Mac OS X/32 10.5.3 (amazon) in debug mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
Diffstat (limited to 'src/H5private.h')
-rw-r--r--src/H5private.h16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/H5private.h b/src/H5private.h
index 48fbd01..ebbad21 100644
--- a/src/H5private.h
+++ b/src/H5private.h
@@ -1235,18 +1235,22 @@ static herr_t H5_INTERFACE_INIT_FUNC(void);
/* Use this macro for API functions that [could] modify metadata */
#define FUNC_ENTER_API_META(func_name, id, 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); \
{ \
+ /* Metadata journaling variables */ \
uint64_t trans_num = 0; \
H5O_loc_t id_oloc; \
hbool_t do_transaction = FALSE; \
hbool_t id_oloc_open = FALSE; \
hbool_t transaction_begun = FALSE; \
+ /* end - Metadata journaling variables */ \
+ \
+ 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); \
+ \
if (H5AC2_begin_transaction(id, &do_transaction, &id_oloc, \
&id_oloc_open, &transaction_begun, \
&trans_num, FUNC) < 0) { \