summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r1005] Reflected the changes in ddl to the example.Ruey-Hsia Li1999-01-061-12/+53
|
* [svn-r1004] Purpose:Paul Harten1999-01-053-11/+84
| | | | | | | | | | | | | | | | Conform closer to other test print-out. Solution: Added "All h5dump tests passed." statement to output of testh5dump.sh when appropriate. Similarly, added "All h5toh4 tests passed." statement to output of testh5toh4 when appropriate. Also, added the testing of converting H5 files with loop pathways into H4 files with recursive references. Platforms tested: Solaris2.5, Digital Unix 4.0
* [svn-r1003] Fixed a couple of typosQuincey Koziol1999-01-052-3/+2
|
* [svn-r1000] Purpose:Paul Harten1998-12-301-4/+11
| | | | | | | | | | | | | | | | | Conform closer to other test print-out. Problem: Multiple "PASSED" statements for single test results when test involves conversion of multiple files. Should be single "PASSED" statement for test results. Solution: "*FAILED*" statement given if conversion fails for any file. Differences given between expected results and actual results for each file that fails. "PASSED" statement given when conversion is successful for all files. Platform tested: Solaris2.5
* [svn-r994] Added h5toh4.Frank Baker1998-12-281-0/+106
|
* [svn-r989] Purpose:Paul Harten1998-12-221-2/+22
| | | | | | | | | | Bug fix Solution: Have warning messages go to stderr instead of stdout. Platform tested: Solaris2.5
* [svn-r988] Purpose:Paul Harten1998-12-221-215/+151
| | | | | | | | | | | | | New feature, Documentation Solution: Changed h5toh4 testing output to more closely resemble other HDF5 testing output. Also added documentation to describe the puposes of the conversion test files. Platform tested: Solaris2.5
* [svn-r986] Defined <data> and <string> in ddl.html.Ruey-Hsia Li1998-12-212-30/+89
| | | | Updated the current status of dumper.
* [svn-r985] Checking in changes from "HDF5 Release 1.0" CVS branch that have ↵Frank Baker1998-12-2137-456/+3289
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | not yet been checked into "HDF5 Development" branch. General ======= Various "copy edit" types of repairs. Revisions to document cross-linking. Added structural links tying all docs together (banners at top and bottom of documents, similar to Reference Manual banners of the Beta release). Set background color to white in all documents. NCSAfooterlogo.gif hdf2.jpg New image files to make the documents more self-contained (i.e., to prevent loading images from NCSA and HDF home servers). index.html Redesigned to isolate links external to the installation in a single location. Intro to HDF5 ============= H5.intro.html Fixed banner linking Intro to other docs. Set all URLs to be relative within the distribution; nothing points back to the HDF server. Updates to "Limits of the Current Release" and "Changes in the Current Release." HDF5 User's Guide ================= Changed several User Guide section titles such that all sections that are primarily about a particular interface are now titled in the format "The xxxxx Interface (H5x)". H5.user.html Commented out links to developer docs since they are marked in MANIFEST as not being for distribution in the release. Removed 2nd and 3rd indices from page. Changed "freeform" lists of sections (TOCs) to aligned tables. Datatypes.html Removed the sentence "I'm deferring definition until later since they're probably not as important as the other data types." from Section 3.3, "Properties of Date and Time Atomic Types." Added info regarding 'char' versus 'string' datatypes. Added as Section 3.7, "Character and String Datatype Issues." References.html Commented out substantial material (at end of document) from References planning document that is not appropriate for the User Guide but that is worth keeping around. Groups.html Final edits from elimination of "current working group." HDF5 Reference Manual ===================== Removed "Draft" from the <title>__</title> lines. RM_H5Front.html Removed 2nd and 3rd indices from page. Changed "freeform" lists of sections (TOCs) to aligned tables. RM_H5F.html RM_H5P.html Add file mounting information.
* [svn-r984] Added ./tools/testfiles/tloop-1.ddl.Ruey-Hsia Li1998-12-211-5/+1
| | | | | | | | Removed ./tools/testfiles/tattr-4.ddl ./tools/testfiles/tcomp-4.ddl ./tools/testfiles/tdset-3.ddl ./tools/testfiles/tdset-4.ddl ./tools/testfiles/tgroup-3.ddl.
* [svn-r983] Added tests in testh5dump.sh.Ruey-Hsia Li1998-12-214-215/+349
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Features of this version of dumper * loop detection * data type ** atomic type -> H5T_INTEGER (H5T_STD_XXXXX) -> H5T_FLOAT (H5T_IEEE_XXXXX) -> H5T_STRING (H5T_C_S1, H5T_FORTRAN_S1) ** committed/transient/unamed compound type * data space ** scalar space ** simple space * dataset dumper can display dataset's ** attribute ** type ** space ** data * group dumper can display group attributes and group members which include ** named/unamed data type ** group ** dataset ** softlink * attribute dumper can display attribute's ** type ** space ** data * hard link * soft link * format of data ** fit on 80 columns ** end of line after each row (more work will be done on data.)
* [svn-r982] Added test for loop detection.Ruey-Hsia Li1998-12-2124-443/+349
| | | | | Updated expected output for dumper automatic tests. Removed redundant tests.
* [svn-r979] SnapshotRobb Matzke1998-12-211-1/+1
|
* [svn-r978] Purpose: Bug fixesPaul Harten1998-12-213-260/+1051
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problems: There were three separate bugs in the h5toh4 converter worked on. They were: 1) When a loop was detected, the H4 file was missing references to paths which were available in the H5 file. 2) When an H4 SDS or Vdata was created from a H5 dataset, the H4 object was referenced in the root group, instead of the correct Vgroup. 3) The FIRST path taken to an object for the h5toh4 conversion could not involve a SOFTLINK. Solutions: The bug fixes were: 1) All of the associated references to available paths which occur in the H5 file, now appear in the H4 file. 2) After an H4 SDS or Vdata is created from a H5 dataset, the H4 object is tag/ref'ed in the appropriate Vgroup. 3) The FIRST path taken to an H5 object for the H5toh4 conversion may involve a HARDLINK, a SOFTLINK, or neither. The same is true of any additional paths to the same object. Platform tested: Solaris2.5
* [svn-r977] Purpose:Paul Harten1998-12-2132-500/+1317
| | | | | | | | | | | | New feature Solution: Added some new new tests to show that paths involving HARDLINKS and paths involving SOFTLINKS convert existing objects from H5 to H4 the same way that paths involving no links does. Platform tested: Solaris2.5
* [svn-r976] SnapshotRobb Matzke1998-12-192-2/+2
|
* [svn-r975] Put back Paul's updates.Ruey-Hsia Li1998-12-181-0/+200
|
* [svn-r974] SnapshotRobb Matzke1998-12-182-2/+2
|
* [svn-r973] Added tests for scalar data space, string data type, loop ↵Ruey-Hsia Li1998-12-171-227/+117
| | | | | | detection and compound data type.
* [svn-r971] Changes since 19981214Robb Matzke1998-12-1747-1879/+1561
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./INSTALL Added warning that enabling debugging code can adversely affect performance even when the debugging isn't turned on at run-time. Performance testing shows that under certain circumstances (like data type conversions of compound types) the H5_timer functions, although only a few lines each, contribute a fairly large percent to the execution time. ./src/H5T.c ./src/H5Tpkg.h ./src/H5Tpublic.h Improved the H5Tunregister() function to make unregistering more flexible. It takes the same arguments as H5Tregister() but also accepts wild cards. All conversion functions that match the H5Tunregister() search criteria are removed from the global type conversion table. The H5Tregister_hard() and H5Tregister_soft() were combined into a single function called H5Tregister() which is the counterpart to H5Tunregister(). A new `persistence' argument was added to differentiate between the two types of conversion functions. The application is allowed to register a hard conversion function for the no-op conversion path although the library isn't obligated to call it (it usually does). This is mostly for completeness, but the application might use it to help determine if the raw data pipeline was able to use the optimized path for the case when no type conversion is necessary. The library doesn't allow this path to be unregistered although the application can redefine it as often as it likes. Fixed the type conversion tables in preparation for MT-safety and to fix previosly-known design bugs wrt. unregistering conversion functions or changing the C function associated with a conversion path. The MT-safety stuff is documented in a separate white paper. Increased the conversion function debugging name from 9 characters to 31 characters so the output can be more descriptive. Moved conversion path statistics from the H5T_cdata_t member into the conversion path itself. This makes H5T_cdata_t contain only application-visible data structures. ./src/H5A.c ./src/H5D.c ./src/H5Ofill.c ./src/H5P.c ./src/H5T.c Improved the way type conversion functions are called so the caller doesn't have to check for data type debugging and increment type conversion timers and statistics. Changed check for no-op conversion since it is now application-definable and there may even be more than one definition at a time in a multi-threaded application (one thread might be using the no-op conversion path when some other thread changes its definition -- the first thread still sees the original defintion until it's done with the operation). ./doc/html/Datatypes.html Updated the user guide to reflect the changes to data type conversion registration functions. ./bin/trace ./src/H5.c Added tracing support for the new H5T_pers_t data type. ./test/dtypes.c Added printf to display alignment value if non-aligned data types are being tested. ./test/h5test.c Modified the H5Tunregister() calls to use the new arguments. All 94 of those calls can be replaced by a single call to the new H5Tunregister() function. ./src/H5.c Added HAVE_GETTIMEOFDAY around an auto variable and initialized the elapsed time to zero when gettimeofday() is not available. ./src/H5F.c ./src/H5Fprivate.h ./src/H5P.c Added an H5*_init() functions which do the same thing as H5*_init_interface() but can be called from other packages and don't do anything if the interface is already initialized. This fixes a couple memory leaks in applications that repeatedly close and open the library with H5close(). ./src/H5Tconv.c Optimized some data alignment code in the hardware conversion functions. Hardware conversions accumulate statistics about source and destination data alignment and print that information when the conversion function is unregistered (usually when the application exits) if data type debugging is compiled into the library and enabled at run-time. The conversion caching was cleaned up for the compound data type conversion function. It now caches conversion paths in a manner that will be MT-safe and is much simpler than the old method. Also cleaned up some array index maps. ./src/H5detect.c Fixd mispelling of alingemnt. ./src/H5private.h Changed `TRUE' to `1' in assignment to interface_initialize_g in FUNC_ENTER macro definition. ./tools/testh5dump.sh Completely rewritten to make it shorter, better documented, and conforming to most of the other test outputs. The comparison of the actual output with the expected output is insensitive to differences in white space. The test now passes for the first time on Linux where the output width wasn't as expected but the output was otherwise correct. ./tools/testfiles/tall-1.ddl ./tools/testfiles/tall-2.ddl ./tools/testfiles/tall-3.ddl ./tools/testfiles/tattr-1.ddl ./tools/testfiles/tattr-2.ddl ./tools/testfiles/tattr-3.ddl ./tools/testfiles/tattr-4.ddl ./tools/testfiles/tcomp-1.ddl ./tools/testfiles/tcomp-2.ddl ./tools/testfiles/tcomp-3.ddl ./tools/testfiles/tcomp-4.ddl ./tools/testfiles/tdset-1.ddl ./tools/testfiles/tdset-2.ddl ./tools/testfiles/tdset-3.ddl ./tools/testfiles/tdset-4.ddl ./tools/testfiles/tgroup-1.ddl ./tools/testfiles/tgroup-2.ddl ./tools/testfiles/tgroup-3.ddl ./tools/testfiles/tlink-1.ddl ./tools/testfiles/tlink-2.ddl ./tools/testfiles/tlink-3.ddl ./tools/testfiles/tlink-4.ddl ./tools/testfiles/tlink-5.ddl ./tools/testfiles/tslink-1.ddl ./tools/testfiles/tslink-2.ddl Changed `../h5dump' to just `h5dump'. ./config/alpha-dec-osf4.0 Added more warning and optimization switches to the native compiler.
* [svn-r969] SnapshotRobb Matzke1998-12-152-2/+2
|
* [svn-r968] Changes since 19981207Robb Matzke1998-12-1413-1729/+1957
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./MANIFEST Added tcompound2.{dmp,h5} and tdset2.{dmp,h5} used by the h5toh4 testing. ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] Added check for <sys/timeb.h> for Win32. Determines sizeof(char) just so we have a complete list of type sizes defined as preprocessor symbols. ./src/H5detect.c ./src/H5T.c ./src/H5Tpkg.h Detects alignment constraints. In order for this to work the operating system must not correct unaligned data (for instance, on the DEC Alpha one might need to say `uac p sigbus' before running H5detect). ./src/H5private.h Includes <signal.h> because it's needed by H5detect.c to detect alignment constraints. ./src/H5Tconv.c Added extra checks to all hardware conversion functions so they align data when necessary before the conversion. This slows down the conversions somewhat but they're still much faster than the software conversions. ./test/dtypes.c By setting a constant at the top of the source you can test conversions where the data is aligned on various byte boundaries. By setting a constant at the top of the source you can simulate architectures that have alignment constraints on architectures that don't. Changed typo SIZEOF_LDOUBLE to SIZEOF_LONG_DOUBLE in a few places.
* [svn-r963] SnapshotRobb Matzke1998-12-081-1/+1
|
* [svn-r962] Added #ifdef HAVE_PARALLEL to interprocess coordination in ↵Robert Kim Yates1998-12-072-0/+8
| | | | H5F_istore_allocate.
* [svn-r961] Added barrier after MPI_File_set_size to prevent race condition:Robert Kim Yates1998-12-071-0/+10
| | | | subsequent writes were being truncated, causing holes in file.
* [svn-r960] Added interprocess coordination in H5F_istore_allocate around ↵Robert Kim Yates1998-12-074-0/+132
| | | | | | | | calls to H5F_istore_lock and H5F_istore_inlock to prevent race between reading and writing data chunks that caused "holes" (i.e., sequences of 0s) in chunked datasets.
* [svn-r959] Changes since 19981125Robb Matzke1998-12-074-195/+206
| | | | | | | | ---------------------- ./src/H5HG.c Fixed a bug in the alignment calculation for the heap free space. The reference test passes now.
* [svn-r958] Purpose:Paul Harten1998-12-0111-203/+901
| | | | | | | | | | | New feature Solution: Testing of Extendable Dataset support in h5toh4 converter when extendable dimension is first dimension. Platform tested: Solaris2.5
* [svn-r957] Updated test for dataset region code, currently generating an ↵Quincey Koziol1998-11-301-10/+10
| | | | | | assertion failure in the H5HG code for Robb to look at.
* [svn-r956] Fixes for dataset region code.Quincey Koziol1998-11-302-0/+4
|
* [svn-r955] Made debug print statements portable.Robert Kim Yates1998-11-302-16/+14
|
* [svn-r954] SnapshotRobb Matzke1998-11-262-2/+2
|
* [svn-r953] Purpose:Paul Harten1998-11-251-1/+1
| | | | | | | | | | | | | | | | | | | | | Getting rid of Warning messages. Problem: When compiling with DEBUG_H5TOH4 turned off, macro expansion of DEBUG_PRINT gives many warning messages. Solution: Set macro expansion of DEBUG_PRINT to: #ifdef DEBUG_H5TOH4 #define DEBUG_PRINT(s1,s2,s3,n1) ( fprintf(stderr,s1,s2,s3,n1) ) #else #define DEBUG_PRINT(s1,s2,s3,n1) ( fprintf(stderr," ") ) #endif Platform tested: Solaris2.5
* [svn-r952] Changes since 19981125Robb Matzke1998-11-2522-560/+567
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./doc/html/Datatypes.html ./src/H5.c ./src/H5T.c ./src/H5Tconv.c ./src/H5Tpkg.h ./src/H5Tpublic.h ./src/H5detect.c ./test/chunk.c ./test/dtypes.c ./test/h5test.c ./test/mtime.c ./test/tattr.c ./test/th5s.c ./tools/h5dump.c ./tools/h5dumputil.c ./tools/h5import.c ./tools/h5ls.c ./tools/h5toh4.c ./tools/h5tools.c Renamed the old H5T_NATIVE_CHAR type to H5T_NATIVE_SCHAR to denote that it is always signed. Added a new H5T_NATIVE_CHAR type which has the same range, representation, and behavior as either H5T_NATIVE_SCHAR or H5T_NATIVE_UCHAR depending on the compiler and its command-line switches for the application source file which references H5T_NATIVE_CHAR. If source files are compiled with different switches then each source file will resolve H5T_NATIVE_CHAR appropriately so it matches the C type `char' in that source file. NOTE: THERE ARE OTHER DOCUMENTATION FILES THAT I DIDN'T CHANGE BECAUSE I CAN'T MODIFY THE SOURCE. ./test/extend.c Swapped two lines to prevent diagnostic messages from messing up the formatted output.
* [svn-r951] Removed warning about unused static function.Robb Matzke1998-11-251-0/+2
|
* [svn-r950] Changed the name of tohdr.c to ohdr.cRobb Matzke1998-11-252-2/+2
|
* [svn-r949] Changes since 19981124Robb Matzke1998-11-2524-1557/+1925
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./src/H5T.c Fixed a typo in the registration of the `unsigned char' to `unsigned long long' type conversion that caused it to not be registered, falling back to software whenever that conversion path was taken. ./MANIFEST ./test/Makefile.in ./test/testhdf5.c ./test/testhdf5.h ./test/theap.c [REMOVED] ./test/lheap.c [NEW] ./test/tohdr.c [REMOVED] ./test/ohdr.c [NEW] ./test/tstab.c [REMOVED] ./test/stab.c [NEW] Removed the `t' from the front of these names and made each test a stand-alone program following the format of most of the other tests. ./test/big.c Uses libh5test.a but always sets the low-level driver to 1GB file family. The `#if' near the top to set the data space to 8GB has been simplified now that `long_long' is always defined and the error message is improved when `long_long' isn't wide enough. Cleanup code was added to the error handling. ./test/gheap.c ./test/istore.c Uses libh5test.a. Added error cleanup code. ./test/dtypes.c ./test/h5test.c Added 68 new tests that check hardware and software conversions between `long long' and `unsigned long long' and the other integer types. The tests only run on machines where sizeof(long_long)!=sizeof(long). We test a total of 180 different integer conversions, half in hardware and half in software. Cut down the number of times each test is run from 5 to 1 so it doesn't take so long. If you want to run more times there's a constant that can be changed at the top of the file. ./test/extend.c Removed unused variable. ./test/h5test.c ./test/h5test.h ./test/external.c ./test/fillval.c The h5_cleanup() returns true/false so it can be used in an `if' statement to clean up additional files. ./doc/html/Environment.html Indented. Added HDF5_PREFIX and HDF5_DRIVER descriptions. ./src/H5P.c Changed the trace type for the second argument from `Iu' to `x' since it's an output parameter. ./INSTALL Added a warning that the GNU zlib that comes with the latest version of HDF4 is too old to use with HDF5 and must be renamed so configure doesn't see it when `--enable-hdf4' is used.
* [svn-r948] SnapshotRobb Matzke1998-11-252-2/+2
|
* [svn-r947] Lots of patches to enable dataset region references. The testing ↵Quincey Koziol1998-11-2514-109/+685
| | | | | | for these need to be finished and checked in still.
* [svn-r946] Changes since 19981121Robb Matzke1998-11-249-17/+79
| | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./src/H5Tconv.c With my poor eyesight I missed the definitions of SCHAR_MIN and SCHAR_MAX in <limits.h> and used CHAR_MIN and CHAR_MAX incorrectly. I changed all occurrences of the latter to the former and the new hardware integer type conversions now work on Irix. ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./src/H5private.h ./src/H5.c ./test/h5test.c Added a wrapper for HDsnprintf() that just calls sprintf() if snprintf() isn't available. ./MANIFEST Added Paul's new h5toh4 files.
* [svn-r945] SnapshotRobb Matzke1998-11-241-1/+1
|
* [svn-r944] Changes since 19981120Robb Matzke1998-11-2311-1772/+1096
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./MANIFEST ./test/Makefile.in ./test/shtype.c [REMOVED] Removed shtype.c because it was all commented out. Besides, these tests are done in dtypes.c now anyway. ./test/external.c ./test/fillval.c ./test/flush1.c ./test/flush2.c ./test/links.c ./test/mount.c ./test/mtime.c ./test/unlink.c The tests that check the HDF5 API use the h5test support functions. For one thing, that means that you can specify the file driver that thay use by the HDF5_DRIVER environment variable. Possible values are: HDF5_DRIVER='sec2' Use read() and write() HDF5_DRIVER='stdio' Use fread() and fwrite() HDF5_DRIVER='core' Use malloc() and free() HDF5_DRIVER='split' Split meta and raw data HDF5_DRIVER='family N' Use file families with each member being N megabytes (N can be fractional, defaults to one). Some tests might fail for certain drivers: for instance, the mount and link tests fail for the `core' driver because they must be able to close and then reopen a file.
* [svn-r943] SnapshotRobb Matzke1998-11-221-1/+1
|
* [svn-r942] PURPOSE:Paul Harten1998-11-213-2/+1451
| | | | | | | | | | | | | | | | | | | | | | | | | New Feature SOLUTION: h5toh4 is an H5 utility which converts HDF5 files into HDF4 files. It converts only those H5 objects which have have mappings into H4 objects. Some H5 objects that may be converted into H4 objects are: 1) H5 group objects may be converted into H4 Vgroup objects. 2) H5 dataset objects of integer or floating point datatype may be converted into H4 SDS objects. 3) H5 dataset objects of compound datatype and rank 1 may be converted into H4 Vdata objects. Field members of the compound datatype are constrained to be single dimensional. Platforms tested: Solaris2.5, HP10.20
* [svn-r941] Purpose:Paul Harten1998-11-211-0/+302
| | | | | | | | | | | | | New feature Solution: This file contains routines to find all shared objects and committed types and store them in tables. These routines are made available in the library hdf5/tools/libh5tools.a Platform tested: Solaris2.5, HP10.20
* [svn-r940] Purpose:Paul Harten1998-11-217-0/+1884
| | | | | | | | | | | | | | | New Feature Solution: These files are the expected results of the HDF4 hdp dumper, which has been executed in the following order: hdp dumpvg file.hdf > file.dmp hdp dumpvd file.hdf >> file.dmp hdp dumpsds file.hdf >> file.dmp Platform tested: Solaris2.5, HP10.20
* [svn-r939] Purpose:Paul Harten1998-11-211-0/+260
| | | | | | | | | | | | | | | | | New Feature Solution: This is a tester for the h5toh4 converter. It is implemented on different HDF5 files to produce HDF4 files. After each HDF4 file is produced, the file is run through the HDF4 dumper hdp. The dumper results are compared with expected results and any differences are noted. Note: The "/hdf4/bin" directory needs to be part of the tester's $PATH. Platform tested: Solaris2.5, HP10.20
* [svn-r938] Purpose:Paul Harten1998-11-211-2/+2
| | | | | | | | | | | | | Bug fix Problem: semicolon missing Solution: added semicolon to end of statement Platform tested: Digital Unix
* [svn-r937] SnapshotRobb Matzke1998-11-212-2/+2
|
* [svn-r936] Changes since 19981119Robb Matzke1998-11-2175-1976/+1898
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./src/H5.c ./src/H5A.c ./src/H5AC.c ./src/H5B.c ./src/H5D.c ./src/H5E.c ./src/H5F.c ./src/H5Farray.c ./src/H5Fcore.c ./src/H5Ffamily.c ./src/H5Fistore.c ./src/H5Flow.c ./src/H5Fmpio.c ./src/H5Fsec2.c ./src/H5Fsplit.c ./src/H5Fstdio.c ./src/H5G.c ./src/H5Gent.c ./src/H5Gnode.c ./src/H5Gstab.c ./src/H5HG.c ./src/H5HL.c ./src/H5I.c ./src/H5Iprivate.h ./src/H5MF.c ./src/H5MM.c ./src/H5O.c ./src/H5Oattr.c ./src/H5Ocomp.c ./src/H5Ocont.c ./src/H5Odtype.c ./src/H5Oefl.c ./src/H5Ofill.c ./src/H5Olayout.c ./src/H5Omtime.c ./src/H5Oname.c ./src/H5Osdspace.c ./src/H5Oshared.c ./src/H5Ostab.c ./src/H5P.c ./src/H5R.c ./src/H5RA.c ./src/H5S.c ./src/H5Sall.c ./src/H5Shyper.c ./src/H5Smpio.c ./src/H5Snone.c ./src/H5Spoint.c ./src/H5Sselect.c ./src/H5T.c ./src/H5TB.c ./src/H5Tbit.c ./src/H5Tconv.c ./src/H5V.c ./src/H5Z.c ./src/H5detect.c ./src/H5private.h Most of these changes are because the `interface_initialize_g' variable change from hbool_t to int. It's a one line change. Changed the way the library is closed so we have more control over the order the interfaces are shut down. Instead of registering an atexit() function for every interface in some haphazard order we just register one: H5_term_library() which then calls the H5*_term_interface() functions in a well-defined order. If the library is closed and then reopened repeatedly by calling H5close() and H5open() in a loop we only add one copy of the library termination functions with atexit(). Termination is a two-step process in order to help detect programming errors that would cause an infinite loop caused by the termination of one interface waking up some other previously terminated interface. The first step terminates the interface and *marks it as unusable*. After all interfaces are terminated then we mark them all as usable again. The FUNC_ENTER() macro has been modified to return failure or to dump core (depending on whether NDEBUG is defined) if we try to call an interface while it's shutting down. ./src/H5.c The H5dont_atexit() function returns failure if it's called more than once or if it's called too late. However, the error stack is not automatically printed on failure because the library might not be initialized yet ./test/chunk.c ./test/flush1.c ./test/flush2.c ./test/iopipe.c ./test/overhead.c ./test/ragged.c Changed the extra cast for Win32 so we do floating point division again -- it was just confusion about precedence and associativity of casting and the C coercion rules. Removed extra carriage returns inserted by broken operating system. ./src/H5Ffamily.c Fixed an bug where H5F_fam_write() lowered the EOF marker for one of the family members causing H5F_fam_read() to read zeros. ./test/h5test.h [NEW] ./test/h5test.c [NEW] ./test/Makefile.in ./test/bittests.c ./test/cmpd_dset.c ./test/dsets.c ./test/dtypes.c ./test/extend.c ./test/external.c Support library for test files. This isn't done yet but Katie's contractions are ~10 minutes apart so I figured I better back this stuff up just in case I'm not here next week... Eventually all test files will understand HDF5_DRIVER to name the low level file driver and parameters so we can easily test various drivers. They will also understand HDF5_PREFIX to prepend to the beginning of file names which is necessary for testing ROMIO with various drivers. Also, the cleanup function will know how to use the file name prefix and will understand different file driver naming schemes like file families. I'm not sure they'll understand the `gsf:' type prefixes yet. Note, the external test is completely commented out because I'm in the middle of modifying it. It will still compile and run but it doesn't test anything at the moment.