diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2008-06-06 20:25:35 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2008-06-06 20:25:35 (GMT) |
commit | 791ab755ac81dc50adabdfe269107722da90f659 (patch) | |
tree | 0ff85448b4b81ad38b205e613d4f0eb4e255b83d /src/H5private.h | |
parent | 44db7da08789c0a2c4b82d74f70fbe6b1831eefd (diff) | |
download | hdf5-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.h | 16 |
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) { \ |