[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.
This commit is contained in:
Quincey Koziol
2003-02-07 16:14:19 -05:00
parent 4e8da9d224
commit 168d67dbd2
18 changed files with 823 additions and 157 deletions

View File

@@ -21,15 +21,15 @@
/* Define to 1 if you have the <features.h> header file. */
#undef HAVE_FEATURES_H
/* Define if support for Adler32 checksum is enabled */
#undef HAVE_FILTER_ADLER32
/* Define if support for deflate filter is enabled */
#undef HAVE_FILTER_DEFLATE
/* Define if support for shuffle filter is enabled */
#undef HAVE_FILTER_SHUFFLE
/* Define if support for Adler32 checksum filter is enabled */
#undef HAVE_FILTER_ADLER32
/* Define to 1 if you have the `fork' function. */
#undef HAVE_FORK
@@ -39,6 +39,9 @@
/* Define to 1 if you have the `fseek64' function. */
#undef HAVE_FSEEK64
/* Define if the function stack tracing code is to be compiled in */
#undef HAVE_FUNCSTACK
/* Define if the compiler understand the __FUNCTION__ keyword */
#undef HAVE_FUNCTION