summaryrefslogtreecommitdiffstats
path: root/src/H5.c
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r12218] Purpose:Quincey Koziol2006-04-101-3/+0
| | | | | | | | | | | | | Code cleanup Description: Remove remnents of references to unimplemented H5S_COMPLEX dataspace. Platforms tested: FreeBSD 4.11 (sleipnir) Linux 2.4 32-bit (heping) Linux 2.4 64-bit (mir) Solaris 2.9 (shanti)
* [svn-r12138] Purpose: VMS portElena Pourmal2006-03-221-0/+36
| | | | | | | | | | | | | | Description: Unix remove function removes only the latest version of a file on VMS. Some of our tests create multiple versions of the testfiles and as a result, test programs may be confused, give false negative result, etc. Solution: Created HDremove_all function for VMS that removes all versions of the files. HDremove on VMS is an alias to HDremove_all. Platforms tested: VMS server and heping (to check that nothing is borken on UNIX side) Misc. update:
* [svn-r12110] Purpose:Leon Arber2006-03-161-15/+6
| | | | | | | | | | | | | | | | | | Optimization Description: Get rid of unnecessary function call for systems that don't have rand_r. Solution: If rand_r isn't present on a system, then macros can be used to simply call the underlying random function instead of calling the HDrand/HDsrand functions that keep track of the random seed within the library. Platforms tested: heping (minor change) Misc. update:
* [svn-r12021] Purpose:Leon Arber2006-03-071-2/+2
| | | | | | | | | | | | | | | Bug fix. Description: Fix typo. srand/srandom don't return anything, so don't attempt to return their value. Solution: Platforms tested: heping Misc. update:
* [svn-r12019] Purpose:Leon Arber2006-03-071-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug fix/Feature Description: Modify the library to use rand_r, when available, instead of srand. If rand_r is not available, it will try to use srandom/random, and then finally fall back to srand/rand. Solution: A couple places in the library use the srand() function to seed the random number generator. This can cause problems on certain platforms and could theoretically cause problems for users who expect a certain sequence of random numbers following their own call to srand(). Most platforms have an implementation of rand_r, which is identical to rand, except that it allows for explicit storage of the seed value. The configure script will now check for the existence of rand_r to facilitate its use in the library. Two new functions are added, to replace the macros HDsrand/HDrand. These functions are HDrand and HDsrand. HDrand will call rand_r, if available, or random(), if available, and fall back to rand() if neither of those is available. HDsrand will store the seed value locally, if rand_r is available. Otherwise, it will call srandom if available, and fall back to srand otherwise. Platforms tested: heping, mir. Really need to test on Red Storm, since that platform motivated this fix, but the machine is currently not available. Misc. update:
* [svn-r11991] Purpose:Albert Cheng2006-03-011-15/+0
| | | | | | | | | | | | | | | | | Porting. Description: Red Storm's lustre used srand and rand to initialize their user mode of lustre. HDF5 also uses srand and that messes up Lustre. Solution: Use -DRED_STORM to block out the HDF5 code that calls srand. This is a temporary fix since Lustre has fixed its code from calling srand and rand but the fix is not deployed at Red_storm yet. Platforms tested: Tested at Red-Storm.
* [svn-r11785] Purpose:Albert Cheng2005-12-111-0/+15
| | | | | | | | | | | | Patch for red-storm. Description: A temporary patch for redstorm, must open a file in the same parallel data filesystem before H5_init_library. Otherwise, it hangs with error: (client.c:568:ptlrpc_check_status()) @@@ type == PTL_RPC_MSG_ERR, err == -114 req@0x57a9660 x1/t0 o38->mds_l2@MDS_PEER_UUID:12 lens 240/272 ref 1 fl Rpc:R/100000/0 rc 0/-114 Platforms tested: Red-storm.
* [svn-r11758] Purpose:Quincey Koziol2005-12-041-3/+0
| | | | | | | | | | | | | New feature Description: Add in a combination of Peter's & my code to support copying variable-length data from one file to another, although currently only supported with contiguous data storage. Platforms tested: FreeBSD 4.11 (sleipnir) h5committest
* [svn-r11738] Purpose:James Laird2005-11-181-0/+25
| | | | | | | | | | | | | | | | | | | Configure feature Description: Added 'make trace' target. Solution: Added tracing to 1.7. This was done automatically in 1.6, but left out of 1.7 until now (oops!). Tracing in 1.7 only happens manually, when the user types 'make trace.' Tracing automatically requires more framework than it's worth. I also fixed a couple of tracing bugs and ran trace. Platforms tested: mir, sleipnir, modi4 Misc. update:
* [svn-r11735] Purpose:Albert Cheng2005-11-161-101/+0
| | | | | | | | | | | | | | | | | | Cleanup. Description: Removed the home-made version of snprintf and vsnprintf since they do not actually enforce the size parameter correctly and could corrupt memory or as a security hole. This block of code has been turned off since Aug 11, 2005 for all platforms except Tflops. No one has reported any problem since--sort of empirical evidence that all platforms except Tflops support both functions. Tflops has retired in September. So, no need to keep this block of code. Also, fixed the HDxxx macro to call the corresponding xxx function. Platforms tested: Tested in heping, both serial and parallel.
* [svn-r11733] Purpose:Quincey Koziol2005-11-161-5/+5
| | | | | | | | | | | | | | | | | | Code cleanup Description: Added some comments about the thread-specific memory for the error and function stacks. Changed H5close() to not use the function stack (since it causes it to be re-enabled after shutting it down) Changed thread-safe semaphore code to not use dynamicly allocated memory. Platforms tested: FreeBSD 4.11 (sleipnir) Linux 2.4 Too minor to require h5committest
* [svn-r11712] Purpose:Quincey Koziol2005-11-151-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New feature Description: Check in baseline for compact group revisions, which radically revises the source code for managing groups and object headers. WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! This initiates the "unstable" phase of the 1.7.x branch, leading up to the 1.8.0 release. Please test this code, but do _NOT_ keep files created with it - the format will change again before the release and you will not be able to read your old files!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! Solution: There's too many changes to really describe them all, but some of them include: - Stop abusing the H5G_entry_t structure and split it into two separate structures for non-symbol table node use within the library: H5O_loc_t for object locations in a file and H5G_name_t to store the path to an opened object. H5G_entry_t is now only used for storing symbol table entries on disk. - Retire H5G_namei() in favor of a more general mechanism for traversing group paths and issuing callbacks on objects located. This gets us out of the business of hacking H5G_namei() for new features, generally. - Revised H5O* routines to take a H5O_loc_t instead of H5G_entry_t - Lots more... Platforms tested: h5committested and maybe another dozen configurations.... :-)
* [svn-r11598] Purpose:Quincey Koziol2005-10-221-12/+0
| | | | | | | | | | | | Code cleanup Description: Take out odd definition of HDalarm() and replace with standard macro like the rest of the library. Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r11480] Purpose:Fang Guo2005-09-291-0/+12
| | | | | | | | | | | Maintenance on Windows Description: No alarm function on Windows, opt out Solution: Platforms tested: MSVS 6.0 on Windows XP Misc. update:
* [svn-r11258] Purpose:Albert Cheng2005-08-171-4/+22
| | | | | | | | | | | | | | Bug fix. Description: Reactivated the code for snprintf and vsnprintf for Tflops but added the SN_SIZ_MIN as an attempt to require the minimum amount of space needed, hoping vsnprintf/snprintf do not print larger than it per request. Also added code to detect overflow and return error (IF overflow has not crashed the application yet.) These are all short term patches. Platforms tested: Tested at Tflops.
* [svn-r11245] Purpose:Quincey Koziol2005-08-131-34/+34
| | | | | | | | | | | | | | | | | | | | Code cleanup Description: Trim trailing whitespace, which is making 'diff'ing the two branches difficult. Solution: Ran this script in each directory: foreach f (*.[ch] *.cpp) sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f end Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r11234] Purpose:Albert Cheng2005-08-111-0/+5
| | | | | | | | | | | | | | | bug fix. Description: The code for functions snprintf and vsnprintf ignored the size parameter. It could overflow the buffer. The two functions are supported by many platforms now. Disable the code and see what platform(s) still need it. Platforms tested: h5committested Misc. update:
* [svn-r11144] Purpose:Quincey Koziol2005-07-231-0/+2
| | | | | | | | | | | New port Description: Elena asked me to check in her NEC SX-6 work, so here it is! :-) Platforms tested: FreeBSD 4.11 (sleipnir) NEC SX-6 (by Elena)
* [svn-r11093] Purpose:Quincey Koziol2005-07-211-57/+51
| | | | | | | | | | | | Bug fix Description: Rewrite code for mounting files to clean up layers of kludges and implement a much cleaner and more maintainable design. Platforms tested: FreeBSD 4.11 (sleipnir) Linux 2.4
* [svn-r10785] Purpose:James Laird2005-05-231-1/+3
| | | | | | | | | | | | | | | | | Feature Description: Added "support" for UTF-8 character encoding. Solution: Wrote tests to check that UTF-8 can be used in a number of places in HDF5 (object names, data, etc.). These tests live in test/tunicode.c. Added a new UTF-8 character encoding for datatypes. Platforms tested: mir, modi4, heping Misc. update:
* [svn-r10736] Purpose:Quincey Koziol2005-05-071-1/+1
| | | | | | | | | | | Code cleanup Description: Clean up some compiler warnings Platforms tested: FreeBSD 4.11 (sleipnir) h5committest
* [svn-r10175] Purpose:Quincey Koziol2005-03-101-5/+5
| | | | | | | | | | | Code cleanup Description: Clean up a few warnings flagged by the Intel C compiler. Platforms tested: FreeBSD 4.11 (sleipnir) w/Intel C Too minor to require h5committest
* [svn-r9857] Purpose: MaintenanceElena Pourmal2005-01-221-3/+0
| | | | | | | | | | | | | | Description: Removed PABLO from the source Solution: Platforms tested: arabica with 64-bit, copper with parallel, heping with GNU C and C++ and PGI fortran (but I disabled hl, there is some weird problem only on heping: F9XMODFLAG is not propagated to the Makefile files Misc. update:
* [svn-r9727] Purpose:Quincey Koziol2004-12-291-62/+168
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug Fix/Code Cleanup/Doc Cleanup/Optimization/Branch Sync :-) Description: Generally speaking, this is the "signed->unsigned" change to selections. However, in the process of merging code back, things got stickier and stickier until I ended up doing a big "sync the two branches up" operation. So... I brought back all the "infrastructure" fixes from the development branch to the release branch (which I think were actually making some improvement in performance) as well as fixed several bugs which had been fixed in one branch, but not the other. I've also tagged the repository before making this checkin with the label "before_signed_unsigned_changes". Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel & fphdf5 FreeBSD 4.10 (sleipnir) w/threadsafe FreeBSD 4.10 (sleipnir) w/backward compatibility Solaris 2.7 (arabica) w/"purify options" Solaris 2.8 (sol) w/FORTRAN & C++ AIX 5.x (copper) w/parallel & FORTRAN IRIX64 6.5 (modi4) w/FORTRAN Linux 2.4 (heping) w/FORTRAN & C++ Misc. update:
* [svn-r9250] Purpose:Quincey Koziol2004-09-141-1/+1
| | | | | | | | | | | | | | | | | | | | Bug fix Description: Correct typedef for dataset region references to avoid struct alignment issues on Crays. Solution: Change the typedef for hdset_reg_ref_t from a struct to an array of unsigned char's of the correct size and propagate the appropriate adjustments around the code. Platforms tested: FreeBSD 4.10 (sleipnir) Linux 2.4 (verbena) w/fortran Cray T90 (subzero) w/fortran Cray SV1 (wind) w/fortran & parallel Cray T3E (cyclone) w/fortran & parallel
* [svn-r9234] Purpose:Quincey Koziol2004-09-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Code cleanup Description: Tweak recent "forward compatibility" changes to the H5E* API (which allowed for the old H5E API functions to remain unchanged) by allowing for the error stack callback function (H5E_auto_t) to also remain unchanged from the 1.6 branch. This required changing the H5E{get|set}_auto routines to have the old style H5E_auto_t type (which didn't have a stack ID parameter) and the new H5E{get|set}_auto_stack routines to have a newer "H5E_auto_stack_t" type (which has a stack ID parameter). This should make the H5E API changes as forwardly compatible as possible. One side-affect of this change was that it was impossible to determine if the current auto error callback was the old style (H5E_auto_t) or the new style (H5E_auto_stack_t) of callback, so a new API function (H5Eauto_is_stack) was adde to query this. Platforms tested: FreeBSD 4.10 (sleipnir) IRIX64 6.5 (modi4) h5committest
* [svn-r9183] Purpose: New featureRaymond Lu2004-09-011-5/+1
| | | | | | | | | | | | Description: Restore 6 old error API functions back to the library to be backward compatible with v1.6. They are H5Epush, H5Eprint, H5Ewalk, H5Eclear, H5Eset_auto, H5Eget_auto. These functions do not have error stack as parameter. Solution: Internally, these functions use default error stack. Platforms tested: h5committest and fuss. Misc. update: RELEASE.txt
* [svn-r8791] Purpose: Rewrote metadata cache (H5AC.c, etc.) to improve ↵John Mainzer2004-07-021-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | performance. Description: Replaced the old metadata cache with a cache with a modified LRU replacement policy. This should improve the hit rate. Solution: Since we want to flush cache entries in increasing address order, I used the threaded binary B-tree code to store the cache entries. There is a fair bit of overhead here, so we may want to consider other options. While the code is designed to allow the support of other replacement algorithms, at present, only a modified version of LRU is supported. The modified LRU algorithm requires that a user selectable portion of the cache entries be clean. The clean entries are evicted first when writes are not permitted. If the pool of clean entries is used up, the cache grows beyond its user specified maximum size. The cache can also exceed its maximum size if the combined size of the protected (or locked) entries exceeds the maximum size of the cache. Platforms tested: eirene (serial, parallel, fp), h5committested Misc. update:
* [svn-r8760] Purpose:Quincey Koziol2004-06-291-0/+15
| | | | | | | | | | | | | Code cleanup & small bug fix Description: Regenerate dependency files Add htri_t as separate type from hbool_t for code tracing purposes. Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel too minor to require h5committest
* [svn-r8732] Purpose:Quincey Koziol2004-06-231-4/+3
| | | | | | | | | | | | Code cleanup Description: Reduce compiler warnings on SGI IRIX Platforms tested: FreeBSD 4.10 (sleipnir) SGI IRIX6 (Cheryl's machine) Too minor to require full h5committest
* [svn-r8731] Purpose:Quincey Koziol2004-06-231-8/+1
| | | | | | | | | | | | | | | Code cleanup & minor optimization Description: Re-work the way interface initialization routines are specified in the library to avoid the overhead of checking for them in routines where there is no interface initialization routine. This cleans up warnings with gcc 3.4, reduces the library binary size a bit (about 2-3%) and should speedup the library's execution slightly. Platforms tested: FreeBSD 4.10 (sleipnir) w/gcc34 h5committest
* [svn-r8707] Changed the way HDF5 handles hid_t's and added API functions to ↵James Laird2004-06-181-3/+3
| | | | allow users to register IDs and ID types at runtime.
* [svn-r8673] Purpose:Quincey Koziol2004-06-131-2/+2
| | | | | | | | | | | | | | | | | | Code optimization Description: Revised dataspace selections to use a more "object oriented" mechanism to set the function pointers for each selection and selection iterator. This reduces the amount and number of times that dataspace selection info has to be copied. Additionally, change hyperslab selection information to be dynamically allocated instead of an inline struct. Platforms tested: Solaris 2.7 (arabica) FreeBSD 4.10 (sleipnir) w/parallel Too minor to require h5committest
* [svn-r8613] Purpose:Quincey Koziol2004-06-051-0/+3
| | | | | | | | | | | | | | | | | Refactor code Description: Move chunk and contiguous cached raw data from file information to dataset information. This simplifies a number of internal interfaces, aligns the code with it's purpose better and should allow more optimizations to the chunked data I/O performance. Platforms tested: Solaris 2.7 (arabica) FreeBSD 4.10 (sleipnir) h5committest Misc. update:
* [svn-r8544] Purpose:Quincey Koziol2004-05-201-2/+2
| | | | | | | | | | | | | | Code optimization Description: Expand the use of macros to inline trivial function pointer lookup and calls to reduce the overall number of functions invoked during normal operation of the library. Platforms tested: Solaris 2.7 (arabica) FreeBSD 4.9 (sleipnir) w/parallel Too minor to require h5committest
* [svn-r8441] Purpose:Quincey Koziol2004-05-011-1/+1
| | | | | | | | | | | | Code cleanup/optimization Description: Don't clear the error stack when calling H5open(), it's unnecessary. Platforms tested: Solaris 2.7 (arabica) FreeBSD 4.9 (sleipnir) too minor to require h5committest
* [svn-r8353] Purpose:Albert Cheng2004-04-141-46/+62
| | | | | | | | | | | | | | | | | | | | | feature Description: H5check_version will print warning messages if the version does not match or if the lib version string is not consistent, even when $HDF5_DISABLE_VERSION_CHECK is set to 1. This will mess up tests that try to match output. Changed it so that if $HDF5_DISABLE_VERSION_CHECK is set to 2, no warning about version mismatch is printed. The lib version string warning is suppressed if $HDF5_DISABLE_VERSION_CHECK is set to any non-zero value. Platforms tested: Tested in sol only but pretty comprehensive to make the warnings do get suppressed. Misc. update:
* [svn-r8130] Purpose:Quincey Koziol2004-01-311-2/+0
| | | | | | | | | | | Bug fix Description: Address the failure in the FORTRAN builds by making some more of the MPI-related typedefs in the library available outside of parallel builds. Platforms tested: Linux 2.4 (verbena) w/FORTRAN & C++
* [svn-r8127] Purpose:Quincey Koziol2004-01-311-0/+2
| | | | | | | | | | | Bug fix Description: Fix a couple of bugaboos in the serial build that crept in Platforms tested: FreeBSD 4.9 (sleipnir) too minor to require h5committest
* [svn-r7917] Purpose:Quincey Koziol2003-12-061-3/+3
| | | | | | | | | | | | | | | | | | | Code cleanup Description: Clean up compiler warnings, especially the 'FUNC' variable not used which comes out in production mode. Solution: Had to add a new FUNC_ENTER_NOAPI_NOINIT_NOFUNC macro for those non-API functions which don't need the 'FUNC' variable defined. (This will be _so_ much easier when C99 is standard on all our supposed platforms, since it has a __FUNC__ macro... ) Platforms tested: FreeBSD 4.9 (sleipnir) too minor for h5committest (although there were lots of files changed, the change was minor in each one)
* [svn-r7626] Purpose:Quincey Koziol2003-10-141-0/+94
| | | | | | | | Update dependencies and tracing information Platforms tested: Linux 2.4 (verbena) w/FORTRAN too minor for h5committest
* [svn-r7507] *** empty log message ***Raymond Lu2003-09-241-0/+4
|
* [svn-r7384] Purpose:Quincey Koziol2003-08-191-2/+4
| | | | | | | | | | | Code cleanup Description: More linting... Platforms tested: FreeBSD 4.8 (sleipnir) too minor to need h5committest
* [svn-r7319] Purpose:Quincey Koziol2003-08-081-3/+3
| | | | | | | | | | Code cleanup Description: Use unsigned integers to print 'haddr_t's Platforms tested: h5committested
* [svn-r7296] Purpose:Quincey Koziol2003-08-081-90/+43
| | | | | | | | | | | | | | | | | Code cleanup/bug fix Description: Re-enabled calling the H5E termination routine, now that the bugs are fixed. Removed tracing support for H5E_major_t and H5E_minor_t, now that they have been removed from the library. Cleaned up printing of IDs in tracing routine. Platforms tested: h5committested
* [svn-r7265] *** empty log message ***Raymond Lu2003-07-261-5/+22
|
* [svn-r7188] Purpose:Quincey Koziol2003-07-091-2/+2
| | | | | | | | | | | | Code cleanup Description: Back out an overly aggressive linting... Solution: Platforms tested: h5committested
* [svn-r7186] Purpose:Quincey Koziol2003-07-091-58/+64
| | | | | | | | | | | Code cleanup Description: More tweaks to clean up warnings from lint. Platforms tested: FreeBSD 4.8 (sleipnir) not major enough to h5committest
* [svn-r7070] Purpose:Quincey Koziol2003-06-201-1/+3
| | | | | | | | | | | | Code cleanup Description: Add another dependency to the API shutdown code to not shut down the ID management code until the other APIs which use IDs are shut down. Platforms tested: FreeBSD 4.8 (sleipnir) h5committest
* [svn-r7051] Purpose:Quincey Koziol2003-06-181-9/+24
| | | | | | | | | | | | | | | | | | | | Bug fix Description: When objects were left open in a file, the API shutdown code would end up closing property lists "out from underneath" files that were left open pending the objects in the being closed. This caused problems later when file objects would try to access their property list and fail to close, causing an infinite loop in the library shutdown. Solution: Create some dependencies in the order that APIs are shut down, trying to close "higher" level APIs before closing "low" level APIs. This still isn't precise, but it does work correctly now. Platforms tested: FreeBSD 4.8 (sleipnir) h5committest