Commit Graph

6681 Commits

Author SHA1 Message Date
Quincey Koziol
d894ed6d0d [svn-r2276] Modifed thread-safety code to more closely align with rest of HDF5 coding
standards.
2000-05-19 09:51:50 -05:00
Quincey Koziol
7d6aeee7d9 [svn-r2272] Updated data structure names to be more in line with HDF5 naming scheme. 2000-05-19 09:49:40 -05:00
Chee-Wai Lee
e26f4e5eed [svn-r2264] Added Thread-safe feature. This is the phase 1 implementation
that all HDF5 API functions are protected by a mutex lock. Basically,
serialized all API calls.  To use it, use
configure --enable-threadsafe --with-pthread
2000-05-18 14:13:33 -05:00
Robb Matzke
bc520e88b4 [svn-r2262] * 2000-05-18
** src/H5Tconv.c
** src/H5Tpkg.h
** src/H5Tpublic.h
	The H5T_conv_struct_opt() function had a design flaw -- it
	didn't keep information about the stride to use to step
	through the temporary/background-value buffer and thus nested
	invocations would clobber each other's temp buffers.  This was
	fixed by splitting the `stride' argument into `buf_stride' and
	`bkg_stride' arguments for all the conversion functions. THIS
	IS AN API CHANGE, but users will get a compiler warning when
	they pass their conversion function pointer to H5Tregister().

** src/H5T.c
** src/H5Tprivate.h
	Added a bkg_stride argument to the H5T_convert() definition in
	order to fix a bug related to the optimized compound datatype
	conversion function.

** src/H5T.c
** src/H5A.c
** src/H5D.c
** src/H5Ofill.c
** src/H5P.c
	Added bkg_stride=0 argument to the H5T_convert() calls.

** test/dtypes.c
	Added a test for the H5T_conv_struct_opt() bug fixed above.

** src/H5FL.c
	The H5FL_term() function should return non-zero even when it
	couldn't free all the free lists do to their being used by
	some other package.  When that other package terminates it
	will return non-zero, causing H5FL_term() to be called
	again. This fixes some of the `infinite loop closing library'
	messages.

** tools/pdb2hdf
	Uses print_version() instead of doing that itself.

** src/H5Ppublic.h
	Renamed H5Pget_gc_reference() declaration to make it match the
	definition.

** src/H5FDlog.c
	Added API tracing macros.

	Removed `const' qualifier from a `char*' member of a struct
	which was allocated on the heap.

** src/H5TB.c
	Added curly braces to a couple deeply-nested `if' statements
	to make them clearer and to shut up the increadibly stupid and
	just plain incorrect gcc warning about ambiguous `else'.

** test/titerate.c
	Removed incomplete initialization in favor of memset() for one
	auto variable to stop compiler warnings.

** tools/Depencencies
	Regenerated to remove references to h5dumputil.c
2000-05-18 11:40:20 -05:00
Elena Pourmal
30fe4cfa21 [svn-r2259]
Fixed a typo in the H5Pget_gc_references function name (was H5Pget_gc_reference).
2000-05-17 08:30:21 -05:00
Bill Wendling
330d49b27a [svn-r2235] Changed POWER_OF_TWO macro to allow 1 as a valid power of two. Changed
the has_size check accordingly (1 wasn't allowed in the original code).
2000-05-09 15:40:44 -05:00
Patrick Lu
4ef90f9c8f [svn-r2225] added __DLL__ in front of the function prototypes. exports the functions in the dll.
the testhdf5dll projects were not compiling because they didn't know about these
functions
2000-05-09 11:32:09 -05:00
Quincey Koziol
5c354908b9 [svn-r2223] Added logging version of sec2 file driver. This is _reallly_ useful for
tracking the actual I/O locations and space used in a file during an
application.
2000-05-08 18:09:59 -05:00
Quincey Koziol
cf6470e7f0 [svn-r2221] Brought threaded, balanced binary tree code over from the HDF4 library and
updated it for integrating with the H5 library.  I'm thinking about using them
for the data-structures in some caching improvements I'm working on.
2000-05-08 18:08:41 -05:00
Quincey Koziol
bb7e34fad8 [svn-r2220] Added a major error number for TBBT trees 2000-05-08 18:06:54 -05:00
Bill Wendling
96c529af87 [svn-r2219] This simplifies the "check for power of 2" in the hashing function. There
was also a subtle bug in the previous code. A valid size of 16K would
have been rejected since it was checking for an invalid number. The
scheme that replaces it relies on the fact that powers of two and only
powers of two have 1 bit set in binary.
2000-05-08 17:29:07 -05:00
Quincey Koziol
b0f996f5fb [svn-r2191] Changed hash function for caching to avoid as many hash clashes. 2000-04-22 16:19:41 -05:00
Quincey Koziol
932d6e3804 [svn-r2190] Turned on address sorting when flushing metadata for entire file, which
improves performance significantly when lots of metadata I/O occurs when the
file closes.
2000-04-22 16:18:57 -05:00
Robb Matzke
0e1f42cd0a [svn-r2178] ./src/H5public.h
Added some more #undef's

		Removed leading hyphen from H5_VERS_SUBRELEASE
2000-04-21 14:27:42 -05:00
Quincey Koziol
bc7c5a318c [svn-r2175] Updated API tracing information. 2000-04-21 13:55:44 -05:00
Quincey Koziol
cb0f2f72c2 [svn-r2172] Fixed a few typos in FUNC_ENTER macros and return types that Binh-Minh found. 2000-04-21 10:00:49 -05:00
Quincey Koziol
ba8fbc02db [svn-r2165] Fixed last batch of problems when using free-lists on the SGI machines. They
should (hopefully) work on all platforms again now.
2000-04-20 11:36:38 -05:00
Quincey Koziol
37f774f5a9 [svn-r2164] Remove debugging information... 2000-04-19 18:13:23 -05:00
Quincey Koziol
a6e0deba63 [svn-r2163] Take out some debugging information which was accidentally checked in. 2000-04-19 18:11:57 -05:00
Quincey Koziol
7438609ee2 [svn-r2162] Various small fixes to address SGI compiler warnings. 2000-04-19 18:11:06 -05:00
Quincey Koziol
e8d578899d [svn-r2158] Modified B-tree splits so they avoid the redundant metadata I/O which was
occurring when moving a metadata block in the file.
2000-04-19 17:20:21 -05:00
Quincey Koziol
5999195011 [svn-r2157] Changed hashing scheme slightly to better spread out the hash values returned. 2000-04-19 17:19:08 -05:00
Quincey Koziol
2ec6fd667b [svn-r2151] Modified H5_term_library to not reported errors when H5Eset_auto(NULL,NULL)
has turned off error reporting in the library.
    Also, changed the way property lists are managed and closed so that they
can be automatically closed when the library terminates.
2000-04-15 15:28:12 -05:00
Quincey Koziol
bb12f5d5d2 [svn-r2147] Corrected a few problems in the free-list code and added more assert() macros
to double-check things.  I've turned them back on again now.  I also changed
the internal representation of a few struct fields to be float instead of
double, since the HP/UX 10.20 compiler was having problems with the alignment
of the doubles.
2000-04-14 14:07:32 -05:00
Raymond Lu
43141b739e [svn-r2144] Update. 2000-04-13 16:38:10 -05:00
Raymond Lu
9b825f6f63 [svn-r2141] Fixed some mix up from the last cvs commit. 2000-04-13 11:58:07 -05:00
Raymond Lu
0461ad7f43 [svn-r2137] Add SRB as a new VFL, add related info into these source codes. 2000-04-13 10:16:20 -05:00
Quincey Koziol
e47b34e54f [svn-r2131] Changed H5Screate_simple & H5Sset_extent_simple to disallow
size 0 dimensions without corresponding unlimited dimension.
2000-04-12 17:02:16 -05:00
Quincey Koziol
b53ed77dbd [svn-r2124] Changed return type of H5Aiterate and the H5A_operator_t to herr_t, to align
them with the dataset & group iterator functions.
2000-04-12 16:09:38 -05:00
Quincey Koziol
04404b74db [svn-r2122] Fixed small problem with va_arg & shorts and floats in HDfprintf. This closes
bug #401.
2000-04-12 14:47:55 -05:00
Quincey Koziol
0d402a1310 [svn-r2117] Fixed error which manifested in H5Giterate, causing groups with more than one
level of B-tree nodes and callback functions which returned non-zero to not
work correctly.
2000-04-12 10:44:05 -05:00
Albert Cheng
e98aa9742e [svn-r2115] Snapshot version 1.3 release 20 2000-04-11 20:20:36 -05:00
Quincey Koziol
8169c70b06 [svn-r2110] Re-wrote a good chunk of the hyperslab code to work correctly in several
situations which weren't tested before.  Things should be both faster and
easier to understand in this code now.
2000-04-11 13:23:05 -05:00
Quincey Koziol
cb47e4ed03 [svn-r2109] Re-wrote a good chunk of the hyperslab code to work correctly in several
situations which weren't tested before.  Things should be both faster and
easier to understand in this code now.
2000-04-11 13:23:03 -05:00
Quincey Koziol
1dbee0210f [svn-r2108] Fixed small bug where we were reading a value out of a piece of memory we'd
just free'd.  A small bug, but it will cause problems in a threaded
environment.  (And it was filling up the purify logfile with junk.. :-)
2000-04-11 13:21:27 -05:00
Quincey Koziol
5884b4891b [svn-r2105] Turned off the free lists until I can debug them on the platforms they are
failing on...
2000-04-10 13:41:34 -05:00
Quincey Koziol
456843acde [svn-r2102] Checking in newer version of free-list code with easy way to turn off the
free-lists for the library.  To turn off the free-lists, edit H5FL.c and
uncomment the "NO_FREE_LISTS" macro definition near the top of the file.
(Or define the macro during compile time)
2000-04-10 13:36:15 -05:00
Albert Cheng
d7df48b8d9 [svn-r2101] Added --enable-threadsafe option to support the Thread-safe option. 2000-04-10 13:23:38 -05:00
Albert Cheng
408574794a [svn-r2100] Turn on H5FDmpio_debug if H5F_DEBUG is on. 2000-04-10 13:22:10 -05:00
Quincey Koziol
14352705ed [svn-r2098] Fixed error in iterating through hyperslabs in certain situations where
hyperslabs were staggered in the dataset.
2000-04-07 15:40:09 -05:00
Robb Matzke
8fa2e9bd59 [svn-r2088] * 2000-01-26
** src/H5Epublic.h
	Removed `do{...}while(0)' from H5E_BEGIN/END_TRY macros to get rid of
	a warning about the constant expression.
2000-04-07 10:26:30 -05:00
Quincey Koziol
d1de790d25 [svn-r2081] Fixed a problem in H5Giterate which was not updating the 'index' paramater for
certain return values from the callback.
2000-04-05 15:51:27 -05:00
Quincey Koziol
02e4ee5edf [svn-r2073] Added free-list code to the library and took out the older "temporary buffer"
code, since the functionality was superceded.  See the followup document for
details on the free-list code.
2000-04-04 16:00:31 -05:00
Albert Cheng
dcec973faa [svn-r2059] Snapshot version 1.3 release 19 2000-03-24 10:54:56 -05:00
Albert Cheng
e2c95c478a [svn-r2057] Purpose:
Bug fix for parallel mode.
Description:
    H5FD_mpio_tas_allsame was called for all cases, even when
    MPIO is not used for access.  That corrupted the internal
    file handle structure.
Solution:
    Define a macro, IS_H5FD_MPIO(f), for testing if f is opened with
    MPIO access.  Will call H5FD_mpio_tas_allsame only if this
    condition is true.
Platform tested:
    O2K, both -64 and -n32 modes.
2000-03-23 21:12:44 -05:00
Albert Cheng
ce99ea075c [svn-r2048] H5I_dec_ref was return 1 instead of FAIL when it failed.
Fixed.
2000-03-23 00:42:52 -05:00
Albert Cheng
f1b4baa061 [svn-r2036] Snapshot version 1.3 release 18 2000-03-14 15:01:00 -05:00
Albert Cheng
29bbbcbd9c [svn-r2032] Purpose:
Bug Fix.
Description:
    Tests failed if drivers multi or split is used (split is implemented
    as a special case of multi).  When a file created via those two drivers
    is opened again, the file sizes retrieved are incorrect.  These seemed
    to happen to non-little-endian machines only (sun, sgi failed, but
    linux succeed.)
Solution:
    The error was because the superblock encoding code was keeping track
    in nseen the pairs of HADDR needed to be converted but did not tell the
    H5Tconvert 2*nseen to convert.  Thus only the first half of the addresses
    were converted, the rest were left alone.  Corrected the numbers of
    addresses to convert.
Platforms tested:
    IRIX64, Solaris 2.7, Linux.
2000-03-14 09:18:52 -05:00
Albert Cheng
dcb9d01fd6 [svn-r2031] Snapshot version 1.3 release 17 2000-03-13 18:53:00 -05:00
Raymond Lu
20b9a12666 [svn-r2027] Remove HAVE_GLOBUS macro. 2000-03-13 14:34:34 -05:00