Commit Graph

6681 Commits

Author SHA1 Message Date
Quincey Koziol
fc0465ca89 [svn-r2899] Purpose:
Code development
Description:
    Incrementally adding various generic property features.
Platforms tested:
    FreeBSD 4.1.1 (hawkwind)
2000-11-14 18:13:17 -05:00
Quincey Koziol
3ddb574eb7 [svn-r2892] Purpose:
Code development
Description:
    Increment bug fixes and some new API functions to generic property list
    code.
Platforms tested:
    FreeBSD 4.1.1 (hawkwind)
2000-11-13 19:05:51 -05:00
Quincey Koziol
7b8b71ed9b [svn-r2891] Purpose:
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)
2000-11-13 19:05:05 -05:00
Bill Wendling
f6a92e7560 [svn-r2890] Purpose:
Redo of a patch
Description:
	As Quincey pointed out, the parameters are only ``UNUSED'' if we
	can't find libz.a.
Solution:
	I changed it to conditionally put the UNUSED in there...
Platforms tested:
	Linux
2000-11-13 16:45:46 -05:00
Quincey Koziol
0eb88a48d7 [svn-r2886] Purpose:
Backward compatibility additions
Description:
    Created HDF5 v1.2 compatibility API functions (H5Tget_member_dims &
    H5Tinsert_array) which use the newer array datatypes underneath, but should
    ease user's transition to the 1.4 version of the library.
Platforms tested:
    FreeBSD 4.1.1 (hawkwind)
2000-11-13 16:26:15 -05:00
Bill Wendling
d1b421f195 [svn-r2884] Purpose:
Removed warnings
Description:
	Unused parameters
Solution:
	Put UNUSED macro before unused params.
Platforms tested:
	Linux
2000-11-13 16:08:10 -05:00
Quincey Koziol
bd433ad90c [svn-r2880] Purpose:
Code cleanup
Description:
    Added a the generic property ID types to the list of things not stored in
    files.
Platforms tested:
    FreeBSD 4.1.1 (hawkwind)
2000-11-13 12:36:33 -05:00
Albert Cheng
0553b77507 [svn-r2879] Snapshot version 1.3 release 33 2000-11-13 12:31:36 -05:00
Quincey Koziol
6c603f3e77 [svn-r2875] Purpose:
Code cleanup
Description:
    Eliminated some warnings on O2K platform.
Platforms tested:
    SGI O2K (modi4)
2000-11-13 12:03:59 -05:00
Quincey Koziol
8ea1fc564f [svn-r2874] Purpose:
API cleanup
Description:
    Tweaked some parts of the generic properties API to reduce warnings.
Platforms tested:
    FreeBSD 4.1.1 (hawkwind) & SGI O2K (modi4)
2000-11-13 12:02:55 -05:00
Quincey Koziol
a4076b5598 [svn-r2871] Purpose:
Code updates
Description:
    Finished fleshing out code for generic properties, although they are not
    used anywhere in the library yet.
Platforms tested:
    FreeBSD 4.1.1 (hawkwind)
2000-11-11 19:09:36 -05:00
Quincey Koziol
daeb159cb8 [svn-r2869] Purpose:
Bug fix
Description:
    "old-style" compound datatypes with array fields were leaking memory
    during the datatype header decoding when creating the array datatype for
    a field.
Solution:
    Free the base type of the array after creating array datatype for field.
Platforms tested:
    Solaris 2.6 (baldric)
2000-11-11 17:22:12 -05:00
Quincey Koziol
51608fceef [svn-r2868] Purpose:
Bug Fix
Description:
    Generic property lists were leaking memory.
Solution:
    Tied them into the regular cleanup code called at the library's termination
Platforms tested:
    Solaris 2.6 (baldric) & FreeBSD 4.1.1 (hawkwind)
2000-11-11 15:16:51 -05:00
Quincey Koziol
2d0c5c1067 [svn-r2867] Purpose:
Bug fix.
Description:
    Dimension permutations for array datatypes were being skipped over when
    datatype information was read from the file (because they aren't used
    anywhere in the library currently), but this could cause problems in the
    future when they are used for something.
Solution:
    Read them in anyway, even if we aren't using them yet.
Platforms tested:
    FreeBSD 4.1.1 (hawkwind)
2000-11-11 11:44:28 -05:00
Quincey Koziol
04223a18f4 [svn-r2866] Purpose:
Code cleanup
Description:
    Found more "Have_foo" usage and converted them to "H5_HAVE_foo"
Platforms tested:
    FreeBSD 4.1.1 (hawkwind)
2000-11-11 10:58:12 -05:00
Quincey Koziol
47bef32530 [svn-r2865] Purpose:
Code Cleanup
Description:
    Removed unused variable.
Platforms tested:
    FreeBSD 4.1.1 (hawkwind)
2000-11-11 10:56:43 -05:00
Quincey Koziol
3886559829 [svn-r2861] Purpose:
Bug fix.
Description:
    When writing data and the dataset needed to be extended, the write call
    ended up using the old dataspace extents (prior to the dataspace extend)
    and bad parameters would get into the I/O channel, eventually causing it
    to dump core.
Solution:
    Every time a dataset is extended, throw away the previous dataspace
    information and re-retrieve it.
Platforms tested:
    FreeBSD 4.1.1 (hawkwind)
2000-11-10 17:26:53 -05:00
Robb Matzke
169579ee4d [svn-r2860] ./hdf5/src/H5Pprivate.h
* 2000-11-10 Robb Matzke  <matzke@llnl.gov>
	Changed `class' to `cls' in various places
	since the former is a C++ reserved word and some C compilers (like
	the one on blue) complain.
2000-11-10 15:45:38 -05:00
Robb Matzke
06d7d06a2b [svn-r2859] ./hdf5/src/H5P.c
* 2000-11-10 Robb Matzke  <matzke@llnl.gov> (H5P_copy)
	Changed `class' to `cls'.

    * 2000-11-10 Robb Matzke  <matzke@llnl.gov> (H5P_close)
	Changed `class' to `cls'.
2000-11-10 15:45:35 -05:00
Robb Matzke
65bfb5b8a8 [svn-r2855] ./hdf5/src/H5Tpublic.h 2000-11-10 09:34:09 -05:00
Robb Matzke
82a7138733 [svn-r2854] ./hdf5/src/H5Tconv.c 2000-11-10 09:34:07 -05:00
Robb Matzke
407c7100e3 [svn-r2853] ./hdf5/src/H5T.c
* 2000-11-10 Robb Matzke  <matzke@llnl.gov>
	Updated API tracing calls.
2000-11-10 09:34:03 -05:00
Robb Matzke
165359045e [svn-r2852] ./hdf5/src/H5FD.c
* 2000-11-10 Robb Matzke  <matzke@llnl.gov> (H5FD_close)
	Removed code that resets the H5FD_t
	file structure to zero because that struct has already been
	freed.  This fixes a core dump on some platforms.
2000-11-10 09:34:01 -05:00
Quincey Koziol
66c44914cc [svn-r2850] Purpose:
Added new function.
Description:
    It's often convenient to query the class of a compound datatype's member
    to determine if it's an array and the previous way required you to open
    the member type to query it's class.
Solution:
    Added new H5Tget_member_class function to directly ask for the member type's
    class.
Platforms tested:
    FreeBSD 4.1.1 (hawkwind)
2000-11-09 18:00:19 -05:00
Quincey Koziol
e32c78d023 [svn-r2843] Purpose:
New Feature
Description:
    Added array datatype to library.  See documentation at:
        http://hdf.ncsa.uiuc.edu/HDF5/planning/DP/ArrayType.html
    for complete details on the impact to the library.
Solution:
    Changes to the base library include removing the ability of compound
    datatype fields to be an array (they can use an array type for the field,
    to duplicate the functionality) and adding in the new array datatype
    everywhere appropriate. (I hope :-)
Platforms tested:
    FreeBSD 4.1.1 (hawkwind)
2000-11-09 16:45:27 -05:00
Bill Wendling
c0dec49299 [svn-r2840] Purpose:
Regenerated
Description:
	Just regenerated the H5config.h.in file with the newest changes
	from Thomas.
2000-11-09 00:10:20 -05:00
Thomas Radke
a8b655ff03 [svn-r2832]
Purpose:
    Bugfix.
Description:
    Renamed the H5_HAVE_STRUCT_SOCKLEN_T into H5_HAVE_SOCKLEN_T
    because it isn't really a structure.
2000-11-08 17:35:29 -05:00
Thomas Radke
ae1a3c1300 [svn-r2830]
Purpose:
    Bugfix
Description:
    Rename the [H5_]HAVE_STRUCT_SOCKLEN_T into [H5_]HAVE_SOCKLEN_T.
Solution:
    As pointed out by Bill the socklen_t type isn't a structure if
    is it defined by the system headers.
    So we should better take out the _STRUCT_ from the defines.
Platforms tested:
2000-11-08 17:33:24 -05:00
Thomas Radke
4c52fde41a [svn-r2817]
Purpose:
    Bugfix
Description:
    The socklen_t was hardcoded to be defined as int on architectures
    other than Linux and SUN (Solaris).
    Now it turned out that Solaris isn't consistent in this manner.
    Versions earlier than 2.7 do not define this type.
Solution:
    Check at configure time whether the socklen_t type is defined
    by the system header includes. If not than this type is defined
    to be 'int'.
Platforms tested:
    Solaris 2.6 and 2.7
    Linux
    IRIX64
    Windows NT (command line configure with both cl abd gcc)
2000-11-08 15:36:06 -05:00
Thomas Radke
b7170a25ce [svn-r2816]
Purpose:
    Bugfix
Description:
    Added defines for HAVE_SYS_TYPES_H, HAVE_SYS_SOCKET_H, and HAVE_STRUCT_SOCKLENT_T.
Platforms tested:
    Solaris 2.6 and 2.7
    IRIX64
    Linux
    Windows NT (command line configure with gcc and cl)
2000-11-08 15:05:36 -05:00
Dan Wells
7808e2adac [svn-r2811]
Purpose:
    Bug fix.
Description:
    The names of some entries did not correspond with the names in the
    FUNC_ENTER macro.  This would cause inaccuracies during Pablo tracing.
Solution:
    The names were changed in FUNC_ENTER to agree with the entry names.
Platforms tested:
    Solaris, Irix, AIX, HP Vclass
2000-11-08 09:33:19 -05:00
Robb Matzke
564b68cecc [svn-r2807] ./hdf5/src/H5Fistore.c
* 2000-11-07 Robb Matzke  <matzke@llnl.gov> (H5F_istore_preempt)
	Returns error if call to
	H5F_istore_flush() failed.
2000-11-07 11:00:46 -05:00
Robb Matzke
88c57a3281 [svn-r2806] ./hdf5/src/H5Epublic.h
* 2000-11-07 Robb Matzke  <matzke@llnl.gov>
	Reindented a couple of comments.
2000-11-07 11:00:44 -05:00
Raymond Lu
9c109121c4 [svn-r2805]
Purpose:
    Fix typos in these files.
Description:
    In the functions H5Pset_apl_xxx in these files, the parameters of
    FUNC_ENTER do not match the function names.  So changed them back
    to function names.
Solution:
    [details about the changes, algorithm, etc...]
    [Please as detail as you can since your own explanation is
    better than others guessing it from the code.]
Platforms tested:
    No test has been done because these are all typos, no effect on
    program.
2000-11-07 10:43:21 -05:00
Quincey Koziol
3293e213ce [svn-r2804] Purpose:
Bug Fix
Description:
    Selections in 1-D dataspaces would get into an infinite loop in
    H5S_hyper_select_iterate_mem_opt (called by H5Diterate and
    H5Dget_vlen_buf_size) due to some incorrect logic.
Solution:
    Handled 1-D cases correctly and get out of loop.
Platforms tested:
    Eyeballed...
2000-11-06 19:27:03 -05:00
Thomas Radke
fd36aa4b67 [svn-r2803]
Purpose:
    Bugfix
Description:
    Large data files were truncated at the receiver's side.
Solution:
    Check against EWOULDBLOCK when sending the data and retry.
Platforms tested:
    T3E (other platforms had no such problem).
2000-11-04 22:12:37 -05:00
Bill Wendling
95b960a4a0 [svn-r2793] Purpose:
Bug Fix
Description:
	Some of the HRETURN types were incorrect. They were NULL when
	they should have been FAIL.
Solution:
	Changed the NULLs to FAILs.
Platforms tested:
	Linux
2000-11-02 15:48:45 -05:00
Albert Cheng
0a6cfff27d [svn-r2774] H5FD.c:
Purpose:
    Bug fix
Description:
    H5FD_close() wiped clean the public information before
    closing the FD.  This caused problem to the lower level
    close() which wants to verify it has indeed handed a valid
    file-driver to close because that information is wiped out
    prematurely.
Solution:
    Moved the public information part cleaning after it is closed.

H5FDmpio.c:
    Added in a bunch of assertion to make sure the file handle is indeed
    an MPIO file.

Platforms tested:
    IRIX64 -64 parallel
2000-10-31 13:02:03 -05:00
Robb Matzke
e787e3659c [svn-r2766] ./hdf5/src/H5T.c
Updated API tracing calls
2000-10-31 11:18:41 -05:00
Robb Matzke
47647e8ffb [svn-r2765] ./hdf5/src/H5S.c
Updated API tracing calls.
2000-10-31 11:18:39 -05:00
Robb Matzke
6cd1924c77 [svn-r2764] ./hdf5/src/H5FD.c
Updated API tracing calls.
2000-10-31 11:18:37 -05:00
Robb Matzke
3c623ea000 [svn-r2763] ./hdf5/src/H5F.c
* 2000-10-31 Robb Matzke  <matzke@llnl.gov> (H5F_dest)
	Do not call H5FL_FREE() if the root group
	object is null. This fixes a bug in h5ls when that tool is given
	a file which is not an hdf5 file.
2000-10-31 11:18:34 -05:00
Albert Cheng
d26db0af91 [svn-r2752] Purpose:
Bug fix
Description:
    There is typo in the H5D_write function which reported the
    optimized write failure as a H5E_READERROR.
Solution:
    Replaced it with the correct H5E_WRITEERROR code.
Platforms tested:
    modi4 parallel (compiled H5D.o only).
2000-10-30 12:38:56 -05:00
Thomas Radke
66bd4aac55 [svn-r2748]
Purpose:
    Detect whether the system has the netinet/tcp.h header file.
Description:
    The Stream VFD uses setsockopt(2) to set TCP_NODELAY on an opened
    socket. This constant is defined normally in netinet/tcp.h
    except for GNU cc under Windows where this header doesn't exist.
    This template header file just contains the
      #undef HAVE_NETINET_TCP_H
Platforms tested:
    Windows NT, GNU cc
2000-10-28 14:02:06 -05:00
Thomas Radke
f39c5d7985 [svn-r2746]
Purpose:
    Port to Windows platform
    Bug fix
Description:
    The Stream VFD is ported to Windows now.
    Also fixed a bug where an application terminated when it got a SIGPIPE
    due to sending/receiving on a closed socket.
Solution:
    The socket stuff is treated different under Windows when using
    the MS compilers to build HDF5. They define their own socket datatype
    and have closesocket() instead of close(2) to close sockets.
    Also there are different header files for all the socket stuff.

    So I introduced my own socket decriptor datatype in H5FDstream.h
    which should be used to pass in external sockets. This datatype
    is mapped to either 'int' (UNIX-type sockets) or 'SOCKET' (Windows).
    In the code the error code checking was adapted according to the
    socket datatype used. Also, for Windows you have to call a routine
    to initialize the Socket layer before using it.

    As a kind of bug fix, the process signal mask is now set to ignore
    SIGPIPE signals which otherwise cause the application to terminate.
    The driver read/write routines catch this and return an error code.

Platforms tested:
    Windows NT, both with MS Visual C++ compiler and with GNU cc

    It is interesting that when compiling with GNU cc under Windows
    it is possible to use both Windows and UNIX-type sockets (either
    one or the other). So I check for GNU cc and go for UNIX sockets
    if possible.
2000-10-28 13:51:03 -05:00
Quincey Koziol
592f0fc876 [svn-r2744] Purpose:
Bug fix
Description:
    Forgot to decrement the number of objects in the group when removing
    each one...
Solution:
    Decrement the ID count when successfully removing each object from a
    group.
Platforms tested:
    None yet.
2000-10-27 15:00:02 -05:00
Quincey Koziol
246b9fff37 [svn-r2743] Purpose:
Bug fix
Description:
    Fixed a very subtle bug that was corrupting the objects in a group when
    H5I_clear_group was called and not all the objects in the group were able
    to be cleared.
Solution:
    Track whether an object as been deleted from each hash location's linked
    list and only destroy the list when all the objects on the list are
    actually removed.
Platforms tested:
    None yet.
2000-10-27 14:56:44 -05:00
Quincey Koziol
057cbbf96c [svn-r2736] Purpose:
Code optimization
Description:
    Minor tweaks throughout the optimized regular hyperslab code to increase
    speed.  This set of improvements increase the benchmark time from taking
    ~5.46 seconds to ~4.50 seconds, or around a 20% further speedup.
Platforms tested:
    Solaris 2.6 (baldric)
2000-10-25 13:54:24 -05:00
Albert Cheng
a224c0b56d [svn-r2735] Purpose:
Bug fix
Description:
    Recent changes to H5FD_read() added a new argument of type of
    data to be written but the MPIO file driver call to H5FD_read()
    was not updated.  Also, the prototype of H5FD_read() in H5Fprivate.h
    was "screened out", thus the compiler could not detect the inconsistency.
    With the mismatched arguments, MPIO failed badly.
Solution:
    Update the H5FD_read() call with the new parameter.  Since the
    call is used by H5Dread call so far, it is hardcoded to use
    H5FD_MEM_DRAW as the value.  If the call is used besides for
    H5Dread, this parameter needs to be better defined.
    (Still need to fix the prototype being blocked off.)
Platforms tested:
    O2K -64 parallel.
2000-10-25 00:54:05 -05:00
Quincey Koziol
6aa0dd1620 [svn-r2722] Purpose:
Feature symmetry
Description:
    A while ago I needed to get the 'type' of data being accessed during writes
    to the VFL driver, so I put in code to get the information down there.
    Albert asked for the same information during reads, so I've added that in.
Tested:
    FreeBSD 4.1.1 (hawkwind)
2000-10-24 13:18:09 -05:00