diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2003-02-07 21:14:19 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2003-02-07 21:14:19 (GMT) |
commit | 168d67dbd20923feef30fb76c6b569ef2e5add4a (patch) | |
tree | 2bcfd51c39665400804e92ac0fb13d42b2df96c3 /configure.in | |
parent | 4e8da9d2246a0bba1afb5c678346b2f1c4633c69 (diff) | |
download | hdf5-168d67dbd20923feef30fb76c6b569ef2e5add4a.zip hdf5-168d67dbd20923feef30fb76c6b569ef2e5add4a.tar.gz hdf5-168d67dbd20923feef30fb76c6b569ef2e5add4a.tar.bz2 |
[svn-r6383] Purpose:
New feature for developers.
Description:
Added "function stack" tracing to library. This allows developers (there
is no public API) to call H5FS_print within the library and get a listing
of the functions traversed to reach that point in the library. Eventually,
I may add support for reporting the parameters to each function also...
Mainly for debugging parallel I/O programs, but I think it will come in
handy in other cases also.
The function stack tracking is controlled with a configure switch:
--enable-funcstack, which defaults to enabled currently. When we branch
for 1.6, we should change the default setting on the branch to be disabled.
Also, added a destructor to the thread-specific keys when thread-safety is
turned on in the library. Otherwise, they were leaking memory and causing
difficult to debug errors in threaded programs (like the test/ttsafe test).
Platforms tested:
Tested h5committest {arabica (fortran), eirene (fortran, C++)
modi4 (parallel, fortran)}
FreeBSD 4.7 (sleipnir) w/thread-safety enabled.
Misc. update:
Updated MANIFEST with new files added (src/H5FS.c & src/H5FDprivate.h)
Update release_docs/RELEASE with thread-safety bug fix.
Diffstat (limited to 'configure.in')
-rw-r--r-- | configure.in | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/configure.in b/configure.in index af929fe..8d689e0 100644 --- a/configure.in +++ b/configure.in @@ -1224,6 +1224,28 @@ if test "X$THREADSAFE" = "Xyes"; then fi dnl ---------------------------------------------------------------------- +dnl Check if they would like the function stack support compiled in +dnl +AC_MSG_CHECKING([whether function stack tracking is enabled]) +AC_ARG_ENABLE([funcstack], + [AC_HELP_STRING([--enable-funcstack], + [Enable the function stack + tracing [default=yes]])], + [FUNCSTACK=$enableval]) + +case "X-$FUNCSTACK" in + X-|X-yes) + FUNCSTACK="yes" + AC_MSG_RESULT([yes]) + AC_DEFINE([HAVE_FUNCSTACK], [1], + [Define if the function stack tracing code is to be compiled in]) + ;; + *) + AC_MSG_RESULT([no]) + ;; +esac + +dnl ---------------------------------------------------------------------- dnl Check if they would like the HDF5 v1.4 compatibility functions dnl compiled in dnl @@ -2302,5 +2324,8 @@ IF_ENABLED_DISABLED "$STREAM_VFD" PRINT_N " Threadsafety" IF_ENABLED_DISABLED "$THREADSAFE" +PRINT_N " Function Stack Tracing" +IF_ENABLED_DISABLED "$FUNCSTACK" + PRINT_N " Zlib-compression" IF_YES_NO "$HAVE_ZLIB" |