diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2011-04-28 01:02:02 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2011-04-28 01:02:02 (GMT) |
commit | 0081d8f082bd9fa8c424439b8fb561101dbec78e (patch) | |
tree | 503459c0b8fd32f67ed0da1cc062143998601b25 /src/H5FDlog.c | |
parent | de925f4b385044e2873cf07c3179ce80f56c8c80 (diff) | |
parent | 0ef7cabc633e303f61305362e07b86375aa0753f (diff) | |
download | hdf5-0081d8f082bd9fa8c424439b8fb561101dbec78e.zip hdf5-0081d8f082bd9fa8c424439b8fb561101dbec78e.tar.gz hdf5-0081d8f082bd9fa8c424439b8fb561101dbec78e.tar.bz2 |
[svn-r20658] Description:
Bring code contribution from John Biddiscombe into trunk, according to
IP assignment #002 (on file). Checkin message from John is:
This patch includes the changes necessary to compile a Virtual File
Driver outside of the main hdf5 build and still have it link against
the hdf5 core and work correctly at run-time.
Certain MPI-IO related VFD checks were hard-coded in the hdf5 source
and so it was not possible to extend the functionality to new drivers.
Removed IS_H5FD_MPI macros and replaced with H5F_HAS_FEATURE calls with
new keys, H5FD_FEAT_HAS_MPI and H5FD_FEAT_ALLOCATE_EARLY.
Change H5FD cleanup (term_interface) so that file drivers call
terminate when their class types are deleted instead of explicitly
being called from the finalization code. Move the terminate call out
of H5I and put it into the FD class_free call. Remove the now obsolete
check of handles after cleaning types at termination time.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
FreeBSD/32 8.2 (loyalty) w/gcc4.6, w/C++ & FORTRAN, in debug mode
FreeBSD/64 8.2 (freedom) w/gcc4.6, w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-amd64 2.6 (koala) w/Intel compilers, w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, w/threadsafe, in production mode
Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-ia64 2.6 (ember) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in debug mode
Diffstat (limited to 'src/H5FDlog.c')
-rw-r--r-- | src/H5FDlog.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/H5FDlog.c b/src/H5FDlog.c index 76053ec..e9ca89d 100644 --- a/src/H5FDlog.c +++ b/src/H5FDlog.c @@ -161,6 +161,7 @@ typedef struct H5FD_log_t { (HDoff_t)((A)+(Z))<(HDoff_t)(A)) /* Prototypes */ +static herr_t H5FD_log_term(void); static void *H5FD_log_fapl_get(H5FD_t *file); static void *H5FD_log_fapl_copy(const void *_old_fa); static herr_t H5FD_log_fapl_free(void *_fa); @@ -184,6 +185,7 @@ static const H5FD_class_t H5FD_log_g = { "log", /*name */ MAXADDR, /*maxaddr */ H5F_CLOSE_WEAK, /* fc_degree */ + H5FD_log_term, /*terminate */ NULL, /*sb_size */ NULL, /*sb_encode */ NULL, /*sb_decode */ @@ -277,14 +279,14 @@ done: * * Purpose: Shut down the VFD * - * Return: <none> + * Returns: Non-negative on success or negative on failure * * Programmer: Quincey Koziol * Friday, Jan 30, 2004 * *--------------------------------------------------------------------------- */ -void +static herr_t H5FD_log_term(void) { FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5FD_log_term) @@ -292,7 +294,7 @@ H5FD_log_term(void) /* Reset VFL ID */ H5FD_LOG_g = 0; - FUNC_LEAVE_NOAPI_VOID + FUNC_LEAVE_NOAPI(SUCCEED) } /* end H5FD_log_term() */ |