summaryrefslogtreecommitdiffstats
path: root/src/H5F.c
diff options
context:
space:
mode:
authorAlbert Cheng <acheng@hdfgroup.org>2000-03-24 02:12:44 (GMT)
committerAlbert Cheng <acheng@hdfgroup.org>2000-03-24 02:12:44 (GMT)
commite2c95c478aeb1fbf31b06f6bfcea4b750d414df6 (patch)
tree115fa55209fb1c04d0c60682050277bc0cc2aaef /src/H5F.c
parentf5111838893288dc6f52e19e62b417b9d9dd85cf (diff)
downloadhdf5-e2c95c478aeb1fbf31b06f6bfcea4b750d414df6.zip
hdf5-e2c95c478aeb1fbf31b06f6bfcea4b750d414df6.tar.gz
hdf5-e2c95c478aeb1fbf31b06f6bfcea4b750d414df6.tar.bz2
[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.
Diffstat (limited to 'src/H5F.c')
-rw-r--r--src/H5F.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/H5F.c b/src/H5F.c
index 0cbf889..5edca8a 100644
--- a/src/H5F.c
+++ b/src/H5F.c
@@ -1735,7 +1735,8 @@ H5F_flush(H5F_t *f, H5F_scope_t scope, hbool_t invalidate,
} else {
/* Write superblock */
#ifdef H5_HAVE_PARALLEL
- H5FD_mpio_tas_allsame(f->shared->lf, TRUE); /*only p0 will write*/
+ if (IS_H5FD_MPIO(f))
+ H5FD_mpio_tas_allsame(f->shared->lf, TRUE); /*only p0 will write*/
#endif
if (H5FD_write(f->shared->lf, H5P_DEFAULT, f->shared->boot_addr,
superblock_size, sbuf)<0) {
@@ -1746,7 +1747,8 @@ H5F_flush(H5F_t *f, H5F_scope_t scope, hbool_t invalidate,
/* Write driver information block */
if (HADDR_UNDEF!=f->shared->driver_addr) {
#ifdef H5_HAVE_PARALLEL
- H5FD_mpio_tas_allsame(f->shared->lf, TRUE); /*only p0 will write*/
+ if (IS_H5FD_MPIO(f))
+ H5FD_mpio_tas_allsame(f->shared->lf, TRUE); /*only p0 will write*/
#endif
if (H5FD_write(f->shared->lf, H5P_DEFAULT,
f->shared->base_addr+superblock_size, driver_size,