diff options
author | Robb Matzke <matzke@llnl.gov> | 1999-08-18 18:28:06 (GMT) |
---|---|---|
committer | Robb Matzke <matzke@llnl.gov> | 1999-08-18 18:28:06 (GMT) |
commit | 42d5453fe11634264ea3f330d1c365ef36bb56c7 (patch) | |
tree | 8ff3f982993d227818ddc0de70ad2709514f1923 /src/H5F.c | |
parent | 0b7babc994e59b88a10fb55345159ea6951e72b1 (diff) | |
download | hdf5-42d5453fe11634264ea3f330d1c365ef36bb56c7.zip hdf5-42d5453fe11634264ea3f330d1c365ef36bb56c7.tar.gz hdf5-42d5453fe11634264ea3f330d1c365ef36bb56c7.tar.bz2 |
[svn-r1574] Changes since 19990817
----------------------
./src/H5D.c
./src/H5F.c
./src/H5FDmpio.c
./src/H5Fistore.c
./src/H5Fprivate.h
./src/H5Smpio.c
The `driver_id' for a file was accidently put in two
structs. I removed it from the H5F_file_t struct since it's
really an attribute of the VFL stuff.
More careful incrementing/decrementing the driver ID to fix a
memory leak.
./src/H5P.c
Rewrote H5Pcreate() in terms of H5P_copy() of a default
property list. This fixes some referencing counting bugs.
Diffstat (limited to 'src/H5F.c')
-rw-r--r-- | src/H5F.c | 19 |
1 files changed, 10 insertions, 9 deletions
@@ -21,9 +21,11 @@ static char RcsId[] = "@(#)$Revision$"; /* $Id$ */ /* Predefined file drivers */ -#include <H5FDsec2.h> /*Posix unbuffered I/O */ +#include <H5FDcore.h> /*temporary in-memory files */ #include <H5FDfamily.h> /*family of files */ #include <H5FDmpio.h> /*MPI-2 I/O */ +#include <H5FDmulti.h> /*multiple files partitioned by mem usage */ +#include <H5FDsec2.h> /*Posix unbuffered I/O */ /* Packages needed by this file... */ #include <H5private.h> /*library functions */ @@ -200,8 +202,11 @@ H5F_init_interface(void) H5E_BEGIN_TRY { if ((status=H5FD_SEC2)<0) goto end_registration; if ((status=H5FD_FAMILY)<0) goto end_registration; - /*...others just like above...*/ - + if ((status=H5FD_CORE)<0) goto end_registration; + if ((status=H5FD_MULTI)<0) goto end_registration; +#ifdef HAVE_PARALLEL + if ((status=H5FD_MPIO)<0) goto end_registration; +#endif end_registration: } H5E_END_TRY; if (status<0) { @@ -473,7 +478,7 @@ H5Fget_access_plist(hid_t file_id) _fapl.threshold = f->shared->threshold; _fapl.alignment = f->shared->alignment; _fapl.gc_ref = f->shared->gc_ref; - _fapl.driver_id = f->shared->driver_id; + _fapl.driver_id = f->shared->lf->driver_id; _fapl.driver_info = NULL; /*just for now */ /* Copy properties */ @@ -711,7 +716,6 @@ H5F_new(H5F_file_t *shared, hid_t fcpl_id, hid_t fapl_id) f->shared->threshold = fapl->threshold; f->shared->alignment = fapl->alignment; f->shared->gc_ref = fapl->gc_ref; - f->shared->driver_id = H5I_inc_ref(fapl->driver_id); #ifdef HAVE_PARALLEL /* @@ -719,7 +723,7 @@ H5F_new(H5F_file_t *shared, hid_t fcpl_id, hid_t fapl_id) * does not permit caching. (maybe able to relax it for * read only open.) */ - if (H5FD_MPIO==f->shared->driver_id){ + if (H5FD_MPIO==f->shared->lf->driver_id){ f->shared->rdcc_nbytes = 0; f->shared->mdc_nelmts = 0; } @@ -808,9 +812,6 @@ H5F_dest(H5F_t *f) /* Destroy file creation properties */ H5P_close(H5P_FILE_CREATE, f->shared->fcpl); - /* Destroy file access properties (most don't need destruction) */ - H5I_dec_ref(f->shared->driver_id); - /* Destroy shared file struct */ if (H5FD_close(f->shared->lf)<0) { HERROR(H5E_FILE, H5E_CANTINIT, "problems closing file"); |