summaryrefslogtreecommitdiffstats
path: root/src/H5.c
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r6252] Purpose:Quincey Koziol2003-01-091-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Lots of performance improvements & a couple new internal API interfaces. Description: Performance Improvements: - Cached file offset & length sizes in shared file struct, to avoid constantly looking them up in the FCPL. - Generic property improvements: - Added "revision" number to generic property classes to speed up comparisons. - Changed method of storing properties from using a hash-table to the TBBT routines in the library. - Share the propery names between classes and the lists derived from them. - Removed redundant 'def_value' buffer from each property. - Switching code to use a "copy on write" strategy for properties in each list, where the properties in each list are shared with the properties in the class, until a property's value is changed in a list. - Fixed error in layout code which was allocating too many buffers. - Redefined public macros of the form (H5open()/H5check, <variable>) internally to only be (<variable>), avoiding innumerable useless calls to H5open() and H5check_version(). - Reuse already zeroed buffers in H5F_contig_fill instead of constantly re-zeroing them. - Don't write fill values if writing entire dataset. - Use gettimeofday() system call instead of time() system when checking the modification time of a dataset. - Added reference counted string API and use it for tracking the names of objects opening in a file (for the ID->name code). - Removed redundant H5P_get() calls in B-tree routines. - Redefine H5T datatype macros internally to the library, to avoid calling H5check redundantly. - Keep dataspace information for dataset locally instead of reading from disk each time. Added new module to track open objects in a file, to allow this (which will be useful eventually for some FPH5 metadata caching issues). - Remove H5AC_find macro which was inlining metadata cache lookups, and call function instead. - Remove redundant memset() calls from H5G_namei() routine. - Remove redundant checking of object type when locating objects in metadata cache and rely on the address only. - Create default dataset object to use when default dataset creation property list is used to create datasets, bypassing querying for all the property list values. - Use default I/O vector size when performing raw data with the default dataset transfer property list, instead of querying for I/O vector size. - Remove H5P_DEFAULT internally to the library, replacing it with more specific default property list based on the type of property list needed. - Remove redundant memset() calls in object header message (H5O*) routines. - Remove redunant memset() calls in data I/O routines. - Split free-list allocation routines into malloc() and calloc()- like routines, instead of one combined routine. - Remove lots of indirection in H5O*() routines. - Simplify metadata cache entry comparison routine (used when flushing entire cache out). - Only enable metadata cache statistics when H5AC_DEBUG is turned on, instead of always tracking them. - Simplify address comparison macro (H5F_addr_eq). - Remove redundant metadata cache entry protections during dataset creation by protecting the object header once and making all the modifications necessary for the dataset creation before unprotecting it. - Reduce # of "number of element in extent" computations performed by computing and storing the value during dataspace creation. - Simplify checking for group location's file information, when file has not been involving in file-mounting operations. - Use binary encoding for modification time, instead of ASCII. - Hoist H5HL_peek calls (to get information in a local heap) out of loops in many group routine. - Use static variable for iterators of selections, instead of dynamically allocation them each time. - Lookup & insert new entries in one step, avoiding traversing group's B-tree twice. - Fixed memory leak in H5Gget_objname_idx() routine (tangential to performance improvements, but fixed along the way). - Use free-list for reference counted strings. - Don't bother copying object names into cached group entries, since they are re-created when an object is opened. The benchmark I used to measure these results created several thousand small (2K) datasets in a file and wrote out the data for them. This is Elena's "regular.c" benchmark. These changes resulted in approximately ~4.3x speedup of the development branch when compared to the previous code in the development branch and ~1.4x speedup compared to the release branch. Additionally, these changes reduce the total memory used (code and data) by the development branch by ~800KB, bringing the development branch back into the same ballpark as the release branch. I'll send out a more detailed description of the benchmark results as a followup note. New internal API routines: Added "reference counted strings" API for tracking strings that get used by multiple owners without duplicating the strings. Added "ternary search tree" API for text->object mappings. Platforms tested: Tested h5committest {arabica (fortran), eirene (fortran, C++) modi4 (parallel, fortran)} Other platforms/configurations tested? FreeBSD 4.7 (sleipnir) serial & parallel Solaris 2.6 (baldric) serial
* [svn-r6232] Purpose:Albert Cheng2003-01-031-1/+39
| | | | | | | | | | | | | | | | new feature Description: Added MPICH/MPE instrumentation support. All source code are bracketed by the macro H5_HAVE_MPE. Use "--enable-mpe" to configure it in. Currently only worked in Eirene because the MPE library is not installed in all machines yet. The added file, H5MPprivate.h, holds HDF5/MPE related defintions. Platforms tested: Tested h5committest {arabica (fortran), eirene (fortran, C++) modi4 (parallel, fortran)}? Yep. Other platforms/configurations tested? --enable-mpe feature tested in Eirene.
* [svn-r6176] ./hdf5-devel/src/H5.cRobb Matzke2002-12-041-7/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Purpose: New Feature; Optimization; Clean-up (Merged from 1.4 branch) Description: There is no symbolic constant to pass to functions that take an optional object ID for when the caller wants to indicate no object ID. In the past the caller always passed a negative integer. GPFS performs poorly. The h5ls tool decides whether to list the file name in the output based on a compile-time choice, which isn't always optimal at run time. Solution: Added a symbolic constant H5I_INVALID_HID. Added code to tell the mmfsd of GPFS to forego byte range token prefetching. h5ls decides whether to print the file name at runtime based on the number of objects being listed. Platforms tested: SuSE Linux (arborea), gcc and mpich-1.2.4 SunOS (baldric), gcc 2002-12-03 23:23:45 Robb Matzke <matzke@arborea.spizella.com> * H5_trace: Added printing for H5S_sel_type, code "St". 2002-12-03 22:45:11 Robb Matzke <matzke@arborea.spizella.com> *: Removed a little white space. Other changes are probably due to additional API tracing statements inserted automatically.
* [svn-r6005] Purpose:Quincey Koziol2002-10-151-18/+49
| | | | | | | | | | | New feature. Description: Added check for "HDF5_DISABLE_VERSION_CHECK" environment variable to disable the version checking code between the headers and the library. Tested: FreeBSD 4.7 (sleipnir) - no triple check necessary.
* [svn-r5868] Purpose:Quincey Koziol2002-08-091-1/+1
| | | | | | | | | | Code cleanup Description: Cleanup up a few compiler warnings... Platforms tested: IRIX64 6.5 (modi4) w/parallel
* [svn-r5867] Purpose:Quincey Koziol2002-08-091-1/+7
| | | | | | | | | | | | | Code cleanup Description: Changed the last HRETURN* statements in the FUNC_ENTER macros into HGOTO* macros, which reduces the size of the library binary in certain configurations by another 10% Platforms tested: FreeBSD 4.6 (sleipnir) serial & parallel, IRIX64 6.5 (modi4) serial & parallel
* [svn-r5860] ./hdf5-devel/src/H5.cRobb Matzke2002-08-091-14/+89
| | | | | | | | | | | | | | | | | Purpose: Merged from 1.4 branch Description: API tracing improvements Platforms tested: Linux (--disable-hsizet didn't work before my changes and still doesn't work, but --enable-hsizet is fine). Note: This checkin includes temporary code in H5FDmpiposix.c to turn off GPFS byte range token prefetches on ASCI/Blue. Once the HDF5 API supports the necessary prerequisite functionality this temporary code can be migraged up above HDF5.
* [svn-r5842] Purpose:Quincey Koziol2002-08-081-21/+21
| | | | | | | | | | | | | | | | Code cleanup Description: Change most (all?) HRETURN_ERROR macros to HGOTO_ERROR macros, along with HRETURN macros to HGOTO_DONE macros. This unifies the error return path from functions and reduces the size of the library by up to 10% on some platforms. Additionally, I improved a lot of the error cleanup code in many routines. Platforms tested: FreeBSD 4.6 (sleipnir) serial & parallel and IRIX64 6.5 (modi4) serial & parallel.
* [svn-r5814] Purpose:Quincey Koziol2002-07-191-0/+1
| | | | | | | | | | | | | | | | | | Bug Fix Description: It was possible to create corrupted metadata information (either in memory or in the file or both) with a parallel I/O program because of the way metadata writes were being handled for writes out of the metadata cache. Solution: Added a dataset transfer property called "block before metadata write" which is used by the MPI-I/O and MPI-posix drivers to sync up all the processes before attempting a metadata write. This property is currently only for metadata writes from the metadata cache. Platforms tested: IRIX64 6.5 (modi4) w/parallel
* [svn-r5582] Purpose:Quincey Koziol2002-06-101-1/+1
| | | | | | | | | | | Code cleanup Description: Need to change FUNC_ENTER_NOINIT to FUNC_ENTER_API_NOINIT for H5dont_atexit() Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r5471] Purpose:Quincey Koziol2002-05-291-7/+7
| | | | | | | | | | | | | | | | Code cleanup Description: Broke the FUNC_ENTER macro into several macros, with more specialized uses (which followup mail will describe). This was designed to move most/all of the checks which could be done at compile time to that point, instead of needlessly performing them (over & over :-) at run-time. This reduces the library's size (and thus staticly linked binaries) and has a minor speedup effect also. Platforms tested: IRIX64 6.5 (modi4) with parallel & FORTRAN enabled, and additional testing on FreeBSD and Solaris immediately after the checkin.
* [svn-r5467] Purpose:Quincey Koziol2002-05-281-27/+13
| | | | | | | | | | | | | | | | | | | | | | | | Code cleanup. Description: Took Robb's recent ideas for improving the FUNC_ENTER/FUNC_LEAVE macros equivalents in the SAF library and adapted them to our library. I added an additional macro which is equivalent to FUNC_ENTER: FUNC_ENTER_NOINIT - Has the API tracing code, etc. from FUNC_ENTER but none of the library or interface initialization code. This is to be used _only_ for static functions and those which explicitly cannot have the library or interface initialization code enabled (like the API termination routines, etc.). This allowed many more of the functions in the library [but not all yet :-(] to be wrapped with FUNC_ENTER[_NOINIT]/FUNC_LEAVE pairs. It also reduced the size of the library and executables (by cutting out a bunch of code which was never executed), I'll e-mail the exact results when I've finished editing it. Platforms tested: IRIX64 6.5 (modi4)
* [svn-r5437] Pedro Vicente Nunes2002-05-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Purpose: eliminate warnings on win32 Description: some conversion warnings were being issued Solution: added some type casts Platforms tested: w2000, linux changed the HDmemset to include a cast in win32; this was just to eliminate a compiler warning. probably the macro can also be used in unix #ifdef WIN32 #define HDmemset(X,C,Z) memset((void*)(X),C,Z) #else /* WIN32 */ #define HDmemset(X,C,Z) memset(X,C,Z) #endif /* WIN32 */ the list of previous warnings was D:\disk_w\hdf5\src\H5FDstdio.c(659) : warning C4244: 'initializing' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Fcontig.c(435) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Fcontig.c(497) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Fcontig.c(915) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Fcontig.c(982) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(912) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(995) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(1936) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(2019) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(2862) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(2864) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(2948) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(3690) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(3692) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(3776) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(5167) : warning C4244: '+=' : conversion from '__int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Tvlen.c(371) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
* [svn-r5278] Purpose:Albert Cheng2002-04-281-7/+7
| | | | | | | | | | | | | | | | | | | | | Migrate from configure macros of XYZ_ABC to H5_XYZ_ABC Description: configure generates many macros definitions on the fly and were stored in src/H5config.h which is included by H5public.h. But other software that uses hdf5 may also run their own configure. There can be a clash in macro name space. We decided awhile ago to prepend all generated macros with "H5_" to avoid conflicts. The process has started and this commit completes it (at least attempt to). Solution: Many macros symbols (e.g. SIZEOF_xxx and HAVE_xxx were changed to H5_SIZEOF_xxx and H5_HAVE_xxx). Then H5private.h no longer includes H5config.h. This cuts H5config.h away from HDF5 source code. Pending issues: The module of fortran and pablo are to be resolved in a different commit. Platforms tested: eirene (parallel), arabica (solaris 7 --enable-fortran, --enable-cxx)
* [svn-r4978] Purpose:Quincey Koziol2002-02-171-1/+1
| | | | | | | | Code cleanup Description: Cleanup compiler warnings found by the SGI compiler and gcc 3.0 Platforms tested: FreeBSD 4.5 w/gcc 3.0 (hack) && IRIX64 (modi4)
* [svn-r4813] Purpose:Quincey Koziol2002-01-111-8/+18
| | | | | | | | | | | Bug fix Description: HDfprintf was not handling Microsoft's "%I64d" extension to printf for printing thier '__int64' type. Solution: Added code to properly detect and use this extension. Platforms tested: None! (Kent will be testing shortly)
* [svn-r4706] Purpose:Quincey Koziol2001-12-121-151/+153
| | | | | | | | | | | | Code cleanup Description: Tweaked internal error handling macros to reduce the size of the library's object code by about 10-20%. Also cleaned up some compiler warnings... Platforms tested: FreeBSD 4.4 (sleipnir)
* [svn-r4618] Purpose:Quincey Koziol2001-11-201-45/+19
| | | | | | | | Code cleanup Description: Clean up threading macros and remove vestiges of old-style property lists. Platforms tested: FreeBSD 4.4 (hawkwind)
* [svn-r4584] Raymond Lu2001-11-021-12/+11
| | | | | | | | | Purpose: Switch from old property list to new generic property list. Description: Mainly changed H5Pcreat, H5Pclose, H5Pcopy. Platforms tested: IRIX64 6.5, FreeBSD, SunOS 5.7.
* [svn-r4573] Raymond Lu2001-10-251-15/+0
| | | | | | | Purpose: Switch mount property list to the new generic property list. Platforms tested: IRIX64 6.5, SunOS 5.7, FreeBSD.
* [svn-r4569] Raymond Lu2001-10-241-6/+0
| | | | | | | | | Purpose: Generic Property List Change Description: Changed file access list to the new generic list. Platforms tested: IRIX64, SunOS5.7, FreeBSD
* [svn-r4543] Raymond Lu2001-10-151-6/+0
| | | | | | | Purpose: Changed the file creation property list to the new generic property list. Platform tested: IRIX64, SunOS5.7, FreeBSD
* [svn-r4517] Raymond Lu2001-10-031-6/+0
| | | | | | | | Purpose: Changed to the new generic property list for dataset creation property list. Platforms tested: Arabica, modi4 and Hawkwind
* [svn-r4482] Purpose:Quincey Koziol2001-09-261-276/+291
| | | | | | | | | | | | | | | | | | | | | | Kludge Description: Since we're only about halfway through converting the internal use of property lists from the "old way" to the generic property lists, we turned off snapshots to avoid exposing lots of API changes to users, until the APIs settled down. Getting the snapshots rolling again seems to have become a priority, so some changes are going to have to be made now that were going to be postponed until we were completely finished with the conversion. This requires that the old API functions be able to deal with both the old and new property lists smoothly. Solution: Kludge together the property list code so that they can transparently handle dealing with both the old and new property lists Platforms tested: FreeBSD 4.4 (hawkwind)
* [svn-r4473] Purpose:Quincey Koziol2001-09-251-40/+40
| | | | | | | | | | | | | | | | | | | | | Code cleanup for better compatibility with C++ compilers Description: C++ compilers are choking on our C code, for various reasons: we used our UNUSED macro incorrectly when referring to pointer types we used various C++ keywords as variables, etc. we incremented enum's with the ++ operator. Solution: Changed variables, etc.to avoid C++ keywords (new, class, typename, typeid, template) Fixed usage of UNUSED macro from this: char UNUSED *c to this: char * UNUSED c Switched the enums from x++ to x=x+1 Platforms tested: FreeBSD 4.4 (hawkwind)
* [svn-r4355] Purpose:Quincey Koziol2001-08-141-4/+4
| | | | | | | | | | | | | | | | | | | | | | Code cleanup (sorta) Description: When the first versions of the HDF5 library were designed, I remembered vividly the difficulties of porting code from a 32-bit platform to a 16-bit platform and asked that people use intn & uintn instead of int & unsigned int, respectively. However, in hindsight, this was overkill and unnecessary since we weren't going to be porting the HDF5 library to 16-bit architectures. Currently, the extra uintn & intn typedefs are causing problems for users who'd like to include both the HDF5 and HDF4 header files in one source module (like Kent's h4toh5 library). Solution: Changed the uintn & intn's to unsigned and int's respectively. Platforms tested: FreeBSD 4.4 (hawkwind)
* [svn-r4324] Purpose:Quincey Koziol2001-08-101-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | New Features! Description: Start migrating the internal use of property lists in the library from the older implementation to the new generic property lists. Currently, only the dataset transfer property lists are migrated to the new architecture, all the rest of the property list types are still using the older architecture. Also, the backward compatibility features are not implemented yet, so applications which use dataset transfer properties may need to make the following changes: H5Pcreate(H5P_DATASET_XFER) -> H5Pcreate_list(H5P_DATASET_XFER_NEW) and H5Pclose(<a dataset transfer property list>) -> H5Pclose_list(id) This still may have some bugs in it, especially with Fortran, but I should be wrapping up those later today. Platforms tested: FreeBSD 4.4 (hawkwind)
* [svn-r4021] Purpose:Bill Wendling2001-06-191-8/+0
| | | | | | | Remove my fix... Description: Quincey already put a fix up for the bug I fixed before I could put up my fix for the bug. So I'm retracting my fix.
* [svn-r4020] Purpose:Bill Wendling2001-06-191-2/+9
| | | | | | | | | | | | Bug Fix Description: On some platforms, long long is printed with the "ll" modifier. HDfprintf didn't handle this case. Solution: Added code which checks if there's an "ll" modifier on the template. If so, then it uses that as the modifier. Platforms tested: Kelgia and Dangermouse
* [svn-r4019] Purpose:Quincey Koziol2001-06-191-2/+11
| | | | | | | | | | | Bug fix Description: 'll' type description wasn't being handled correctly in HDfprintf, causing testing failures. Solution: Added tests for 'll' to HDfprintf's type description parsing. Platforms tested: Solaris 2.7 (arabica)
* [svn-r4017] Purpose:Quincey Koziol2001-06-191-8/+1
| | | | | | | | | | | | | Code cleanup Description: Several system header files needed to be included on Linux machines to get the prototypes for some of the system calls we are using. Solution: Added a new feature test macro for including the <features.h> header on Linux machines, to set up compile macros for system header files. Platforms tested: Linux (eirene), FreeBSD 4.3 (hawkwind)
* [svn-r4014] Purpose:Quincey Koziol2001-06-191-1/+1
| | | | | | | | | | | Bug Fix Description: HDfprintf wasn't aware of 'L' type modifier and was passing along the '%Ld' verbatim instead of printing a long long integer value. Solution: Added 'L' to the type modifiers checked in HDfprintf Platforms tested: Linux (eirene)
* [svn-r4013] Purpose:Bill Wendling2001-06-181-8/+8
| | | | | | | | | | | | POSIX Removal Description: Removed calls to POSIX functions and replaced them with the HD* equivalents. Solution: Did just that. Also had to create two new HD* macros, the gettimeofday() and getrusage() Platforms tested: Linux
* [svn-r4012] Purpose:Quincey Koziol2001-06-181-0/+2
| | | | | | | | Clean up compiler warnings. Description: Just code neatening mostly, some casts, etc. Platforms tested: FreeBSD 4.3 (hawkwind)
* [svn-r3974] code warrior portPedro Vicente Nunes2001-06-071-0/+2
|
* [svn-r3946] Purpose:Bill Wendling2001-05-291-1/+1
| | | | | | | | | | | Code Simplification Description: H5Pget_class() was being called from the H5.c module. Changed it so that it calls H5P_get_class() instead. Also, the H5Pget_class() and H5P_get_class() functions were identical. Changed so that H5Pget_class() calls H5P_get_class(). Platforms tested: Linux
* [svn-r3916] Purpose:Albert Cheng2001-05-121-0/+35
| | | | | | | | New feature Description: Added verification of H5_VERS_INFO in H5check_version(). Platforms tested: Eirene (linux).
* [svn-r3781] Purpose:Bill Wendling2001-04-051-15/+15
| | | | | | | | | | | | | | | | | | Update Description: Changed #include <hdf_file.h> construct to #include "hdf_file.h" so that the GNU compiler can more easily pick up the dependencies which it places in the .depend and Dependencies files. Also regenerated the Dependencies to go along with this. Platforms tested: Linux
* [svn-r3677] Purpose:Albert Cheng2001-03-201-4/+0
| | | | | | | | | | | | | Bug fix (sort of) Description: The RCSID string in H5public.h was causing the C++ code problem as it was included multiple times and C++ did not like multiple definitions of the same static variable. Solution: Since we don't really make use of the RCSID strings as we have not installed it in all source files, we decided to remove it. Platforms tested: eirene (linux), modi4 (IRIX64-64) both serial and parallel modes.
* [svn-r3304] Purpose:Quincey Koziol2001-01-181-10/+0
| | | | | | | | Code update Description: Remove ragged array code & tests from library before release. Platforms tested: FreeBSD 4.2 (hawkwind)
* [svn-r3236] Purpose:Quincey Koziol2001-01-041-6/+6
| | | | | | | | Clean up code. Description: Cleaned up various compiler warnings. Platforms tested: FreeBSD 4.2 (hawkwind)
* [svn-r3050] ./hdf5/src/H5.cRobb Matzke2000-12-011-2/+0
| | | | | 2000-12-01 Robb Matzke *: Removed empty lines from end of file?
* [svn-r3008] Purpose:Quincey Koziol2000-11-281-1/+1
| | | | | | | | | | | | | | Code cleanup Description: Several places in the code were using -2 as a default value for various features. However, when a default value is returned from a function that is supposed to return negative on failure, it was causing confusion and extra work for users to check for the special value. Solution: Replaced hard-coded -2 values in the code with symbolic names, then changed symbolic names to 0 instead of -2. Platforms tested: FreeBSD 4.2 (hawkwind)
* [svn-r3005] Purpose:Quincey Koziol2000-11-271-4/+4
| | | | | | | | Backward compatibility code Description: Add in code to allow the library to emulate the v1.2 API and behavior. Platforms tested: FreeBSD 4.2 (hawkwind)
* [svn-r2891] Purpose:Quincey Koziol2000-11-141-8/+10
| | | | | | | | | | | Bug fix. Description: Generic property list code wasn't getting initialized early enough to get the proper values into the macro/constants. Solution: Call H5P_init() from H5_init_library(). Platforms tested: FreeBSD 4.1.1 (hawkwind)
* [svn-r2866] Purpose:Quincey Koziol2000-11-111-9/+9
| | | | | | | | Code cleanup Description: Found more "Have_foo" usage and converted them to "H5_HAVE_foo" Platforms tested: FreeBSD 4.1.1 (hawkwind)
* [svn-r2652] Purpose:Quincey Koziol2000-10-101-2/+2
| | | | | | | | | | | | | | | Maintainance & performance enhancements Description: Re-arranged header files to protect private symbols better. Changed optimized regular hyperslab I/O to compute the offsets more efficiently from previous method of using matrix operations. Added sequential I/O operations at a more abstract level (at the same level as H5F_arr_read/write), to support the optimized hyperslab I/O. Platforms tested: Solaris 2.6 (baldric) & FreeBSD 4.1.1 (hawkwind)
* [svn-r2548] Added #include <sys/resource.h> for the struct getrusage ↵Bill Wendling2000-09-141-24/+28
| | | | | | | declaration. Przemek Klosowski, Ph.D. <przemek@nist.gov> reported this problem on Linux RH 6.1 systems.
* [svn-r2459] Added public API function (H5set_free_list_limits) to allow ↵Quincey Koziol2000-08-041-0/+44
| | | | | | | | limits to be placed on how much memory is used by the free lists before they are garbage collected. The default is to have no limit, with garbage collection only occurring when they cannot allocate memory.
* [svn-r2444] Checkpoint the Generic Property implementation. It's not active ↵Quincey Koziol2000-07-251-2/+10
| | | | | | yet, but it's close. This shouldn't interfere with other development work. (I think.. :-)