Commit Graph

192 Commits

Author SHA1 Message Date
Quincey Koziol
1f3aede7c7 [svn-r14230] Description:
Add H5Ecreate_stack() API routine, to fill a minor gap in the error
routines.

Tested on:
        FreeBSD/32 6.2 (duty) in debug mode
        FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Mac OS X/32 10.4.10 (amazon) in debug mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
2007-11-01 14:27:15 -05:00
Quincey Koziol
d9e5ca72f3 [svn-r14199] Description:
Add H5Dcreate to API versioned routines, replacing internal usage with
H5Dcreate2

	Fix thread-safe error stack initialization for API versioned error
stack printing routines.

Tested on:
        FreeBSD/32 6.2 (duty) in debug mode
        FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Mac OS X/32 10.4.10 (amazon) in debug mode
2007-10-11 11:24:11 -05:00
Quincey Koziol
cdd4606430 [svn-r14097] Description:
First real use of API versioning code, H5E routines switched to use
new API versioning scheme.

Tested on:
	Mac OS X/32 10.4.10 (amazon)
	FreeBSD/32 6.2 (duty)
	FreeBSD/64 6.2 (liberty)
	Linux/32 2.6 (kagiso)
	Linux/64 2.6 (smirom)
	Solaris/32 5.10 (linew)
2007-08-21 16:08:27 -05:00
Quincey Koziol
6151c1cd90 [svn-r13650] Description:
Clean up problems from error handling API changes in parallel and
threadsafe builds.

Tested on:
	FreeBSD/64 6.2 (liberty) w/parallel & threadsafe
2007-04-12 16:41:23 -05:00
Quincey Koziol
d6bb18abbc [svn-r13648] Description:
Rename new error handling API routines from H5E<foo>_stack() to
H5E<foo>2().

Tested on:
    Mac OS X/32 10.4.9 (amazon)
    FreeBSD/32 6.2 (duty)
    FreeBSD/64 6.2 (liberty)
2007-04-11 20:59:45 -05:00
Mike McGreevy
2996c917af [svn-r13475] There's a configure issue linking szip's shared libraries when running on kagiso.
The static szip libraries are working as intended, but when shared szip 
libraries are present and intended for use they cannot be opened. A check 
has been implemented to test if shared szip libraries are functional on 
current platform. If they are not, and the user is trying to use them, 
szip is now disbaled and the user is informed.

This issue occurs on kagiso, and the resolution was tested on kagiso.
2007-03-08 11:57:36 -05:00
Albert Cheng
ed7d456e51 [svn-r13253] Updated all C and C++ style source code files with the THG copyright notice.
Tested platform:
Kagiso only since it is only a comment block change.  If it works in one
machine, it should work in all, I hope.  Still need to check the parallel
build on copper.
2007-02-07 09:56:24 -05:00
James Laird
e100695eb0 [svn-r13068] Ran bin/reconfigure. Some of the scripts have been changed or haven't
been run in a while, so many of the source files were updated with
tracing macros, etc.  No code changes by me.

Tested on kagiso and smirom.
2006-12-18 14:16:17 -05:00
Quincey Koziol
e40557304f [svn-r12803] Description:
Finish new version of the I/O pipeline message, which is much smaller than
the previous version.  This version is used with the "use the latest version
of the format" flag.

    Closed several memory leaks/overruns (found with valgrind).

    Also, lots of compiler & formatting cleanups.

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2006-10-23 15:40:14 -05:00
Quincey Koziol
79aecf8953 [svn-r12706] Description:
Clean up some of the warnings on 64-bit Linux...

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
    Too minor to require h5committest
2006-10-02 14:59:46 -05:00
Quincey Koziol
7be3afb278 [svn-r12440] Purpose:
Code cleanup

Description:
    Trim trailing whitespace in Makefile.am and C/C++ source files to make
diffing changes easier.

Platforms tested:
    None necessary, whitespace only change
2006-06-27 09:45:06 -05:00
Raymond Lu
cbe0bc01f0 [svn-r12345] Purpose: Codes for backward compatibility.
Description: Function prototype H5E_walk_t and structure H5E_error_t wasn't backward
compatible.

Solution: Make them compatible with v1.6 and provide new definitions of H5E_walk_stack_t
and H5E_error_stack_t.

Platforms tested: fuss and h5committest.
2006-05-12 13:29:49 -05:00
Raymond Lu
5125354f7e [svn-r11742] Purpose: Minor correction.
Description: H5Eset_auto_stack() and H5Eset_auto() used FUNC_ENTER_API.  It would clear the error
stack from the previous API call.  It's better to use FUNC_ENTER_API_NOCLEAR to avoid clearing
the stack.


Platforms tested: fuss - simple change.
2005-11-18 16:18:13 -05:00
James Laird
4f8ca8e026 [svn-r11738] Purpose:
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:
2005-11-18 10:55:22 -05:00
Quincey Koziol
671187fd2b [svn-r11733] Purpose:
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
2005-11-15 20:01:37 -05:00
Quincey Koziol
6b45f5172c [svn-r11245] Purpose:
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
2005-08-13 15:53:35 -05:00
Quincey Koziol
a8fbde5d18 [svn-r11228] Purpose:
Code cleanup

Description:
    Add a check for the correct type of ID for H5Eclose_stack()

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-08-10 15:18:49 -05:00
Quincey Koziol
6c6e310391 [svn-r11107] Purpose:
Optimization

Description:
    Switch some internal error API data structures over to using H5FL* routines
for memory management (instead of malloc/free), in order to reduce abuse of
operating system's memory allocation code.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-07-22 09:37:37 -05:00
MuQun Yang
37e0b58f86 [svn-r11088] Purpose:
support thread-safe on windows

Description:
pthread on windows won't return a numeric value from pthread_safe.
An error message applying on linux won't apply on windows,
Print some other message.

Solution:



Platforms tested:
windows xp, too minor to test at other platforms.

Misc. update:
2005-07-19 16:56:15 -05:00
Raymond Lu
7696942940 [svn-r10847] Purpose: Bug fix
Description: See details from Bug #213.  Family member file size wasn't saved
anywhere in file.  When family file is opened, the first member size determine
the member size.

Solution: This is the fourth step of checkin.  A test suit is added for h5repart,
including a program to generate the test files, a script file to run h5repart,
and a program to verify repartitioned files can be opened by the library.

There's a change from the first step of checkin.  Family name template is no
longer saved in the superblock because different pathname can make the name
different.

In the third step of checkin, h5repart has been modified.  If h5repart is used
to change the size of family member file, the new size(actual member size) is saved
in the superblock.

In the second step of checkin, multi driver is checked against the driver
name saved in superblock.  Wrong driver will result in a failure with an error message indicating
multi driver should be used.  This change includes split driver because it's a special case for multi
driver.

In the first step of checkin.  Family member size and name template(unused at this stage) are saved
in file superblock.  When file is reopened,the size passed in thrin superblock.  A different size
will trigger a failure with an error message indicating the right size.  Wrong driver to open family
file will cause a failure, too.


Platforms tested: h5committest and fuss.

Misc. update:  MANIFEST
2005-06-02 16:00:23 -05:00
Quincey Koziol
2afe0fcda1 [svn-r10749] Purpose:
Code cleanup

Description:
    Convert H5Eget_num from 'size_t' to 'ssize_t' to allow for correct error
reporting (eventually).

    Also, convert a bunch of static routines from "FUNC_ENTER_NOAPI" to
"FUNC_ENTER_NOAPI_NOINIT" or "FUNC_ENTER_NOAPI_NOINIT_NOFUNC"

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/pthreads
    Too minor to require h5committest
2005-05-17 11:10:53 -05:00
Raymond Lu
4977e0ac51 [svn-r10746] Purpose: Minor correction
Description:  H5Eget_num used to return an INT type.  That's not consistent with
the parameter of H5Epop.

Solution: Changed it to SIZE_T type.

Platforms tested: fuss -  very simple change.
2005-05-16 10:54:10 -05:00
Quincey Koziol
bbe03d7361 [svn-r10736] Purpose:
Code cleanup

Description:
    Clean up some compiler warnings

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    h5committest
2005-05-07 14:37:48 -05:00
Quincey Koziol
98244eb5dd [svn-r10705] Purpose:
Code cleanup

Description:
    Clean up a few compiler warnings of various sorts...

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-04-30 16:05:34 -05:00
Quincey Koziol
24c134e28b [svn-r9865] Purpose:
Bug fix

Description:
    Catch another way that vsnprintf() can fail (this time on the HP) and
deal with that.

Platforms tested:
    HP/UX 11.x (kelgia)
    Doesn't affect other platforms
2005-01-24 13:50:31 -05:00
Quincey Koziol
563a8dd140 [svn-r9861] Purpose:
Bug fix

Description:
    Add detect vasprintf() routine and use it instead of vsnprintf() when
formatting error descriptions if it's available.

    Added configure test to detect "broken" vsnprintf() implementations which
don't return the correct number of character for strings that are too long to
fit into the buffer provided (currently a problem on the SGIs and probably the
HP).

    Re-wrote error formatting code in H5Epush_stack() to handle broken
vsnprintf() implementations, etc.

Platforms tested:
    IRIX64 6.5 (modi4)
    h5committest
2005-01-23 22:26:37 -05:00
Elena Pourmal
c1df1b3ea4 [svn-r9857] Purpose: Maintenance
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:
2005-01-21 20:16:57 -05:00
Quincey Koziol
b8f7cdc48d [svn-r9837] Purpose:
Bug fix

Description:
    Calling HDvsnprintf() several times (should be twice) is incorrect
without calling va_end() and va_start() again.

Solution:
    Call va_end() and va_start() before calling HDvsnprintf() again.

Platforms tested:
    Linux 2.4/x86_64 (mir)
    Too minor to require h5committest
2005-01-18 21:43:04 -05:00
Quincey Koziol
23130b569c [svn-r9825] Purpose:
Bug fix

Description:
    Fix possible overrun in error description string by allocating large enough
string on the fly.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    Too minor to require h5committest
2005-01-14 14:36:01 -05:00
Quincey Koziol
0977cfecd9 [svn-r9780] Purpose:
Bug fix

Description:
    Print the thread ID in a little more portable of a fashion, disallowing
negative thread IDs.

Platforms tested:
    Linux 2.4 (heping) w/threadsafe
    Too Minor to require h5committest
2005-01-08 10:26:31 -05:00
Quincey Koziol
427ff7da28 [svn-r9727] Purpose:
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:
2004-12-29 09:26:20 -05:00
HDF Admin
147951e4bb [svn-r9243] Snapshot version 1.7 release 37 2004-09-12 04:05:05 -05:00
Quincey Koziol
eb3e9ccd8a [svn-r9234] Purpose:
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
2004-09-08 21:37:02 -05:00
Raymond Lu
cb7f03a26f [svn-r9183] Purpose: New feature
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
2004-09-01 12:43:30 -05:00
John Mainzer
c49dd7fa36 [svn-r8791] Purpose: Rewrote metadata cache (H5AC.c, etc.) to improve 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:
2004-07-02 14:35:04 -05:00
Quincey Koziol
7c3df64cc4 [svn-r8731] Purpose:
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
2004-06-23 10:36:35 -05:00
James Laird
f249eed71d [svn-r8707] Changed the way HDF5 handles hid_t's and added API functions to allow users to register IDs and ID types at runtime. 2004-06-18 11:56:04 -05:00
Quincey Koziol
0a29514b9d [svn-r8383] Purpose:
Code cleanup

Description:
    Clean up lots of warnings based on those reported from the SGI compilers
as well as gcc.

Platforms tested:
    SGI O3900, IRIX64 6.5 (Cheryl's SGI machine)
    FreeBSD 4.9 (sleipnir) w/ & w/o parallel
    h5committest
2004-04-17 23:10:09 -05:00
Quincey Koziol
c3d9b510b4 [svn-r8287] Purpose:
Bug fix/code cleanup

Description:
    Copy Robb's feature in SSlib that checks that the name of the function
used in the FUNC_ENTER macro is actually the name of function.

    Fixed a bunch of typos & copy-n-pasto's for functions with incorrect names.

Platforms tested:
    FreeBSD 4.9 (sleipnir) w/parallel
    too minor to require h5committest
2004-03-30 15:41:45 -05:00
Quincey Koziol
e71e53c743 [svn-r7920] Purpose:
Bug fix

Description:
    Correct a couple of minor problems with 1.6 compat mode.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    not tested in h5committest
2003-12-10 11:06:37 -05:00
Quincey Koziol
31431be374 [svn-r7917] Purpose:
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)
2003-12-06 15:38:31 -05:00
Quincey Koziol
0497e80b50 [svn-r7829] Purpose:
Bug fix & code cleanup

Description:
    Allowing the library to call malloc with a size of 0 bytes causes problems
for some users, so we check for allocations of 0 bytes and disallow them now.

    Cleaned up some code which could call malloc with 0 size.

    Changed some code calling HDmalloc directly to call H5MM_malloc(), which
allows us to check for 0 sized allocations.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2003-11-08 10:32:53 -05:00
Quincey Koziol
e2518919c9 [svn-r7626] Purpose:
Update dependencies and tracing information

Platforms tested:
    Linux 2.4 (verbena) w/FORTRAN
    too minor for h5committest
2003-10-14 10:46:38 -05:00
HDF Admin
d19001584b [svn-r7605] Snapshot version 1.7 release 6 2003-10-12 07:18:10 -05:00
Quincey Koziol
c58d85f10e [svn-r7527] Purpose:
Code cleanup

Description:
    Clean up a few loose ends and warnings for the 1.6 compatibility changes
to the error API.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2003-09-30 11:20:46 -05:00
Quincey Koziol
c48165cb11 [svn-r7526] Purpose:
Fix typo in comment.

Description:
    Looks like a cut & paste error.

Platforms tested:
    None - just comment fixup
2003-09-30 10:27:35 -05:00
Raymond Lu
b997db6cdd [svn-r7519] Purpose:
Description:  add backward compatibility for thread safety.


Platforms tested: RH 8(fuss)
2003-09-29 11:23:15 -05:00
Raymond Lu
7e79a8d71e [svn-r7507] *** empty log message *** 2003-09-24 14:26:50 -05:00
Quincey Koziol
9881fa7e34 [svn-r7381] Purpose:
Code cleanup

Description:
    Various cleanups resulting from running lint tool over H5F.c source module

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    too minor to require h5committest
2003-08-18 11:34:27 -05:00
Quincey Koziol
3a9da6ae38 [svn-r7375] Purpose:
Clean up Pablo masks

Description:
    H5E.c - Moved Pablo mask definition above include files, so it affects
        inline functions properly.

    H5FDstream.c - Added Pablo mask definition to address daily build failures.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    too minor for h5committest
2003-08-15 15:18:44 -05:00