diff options
author | Albert Cheng <acheng@hdfgroup.org> | 2000-10-31 18:02:03 (GMT) |
---|---|---|
committer | Albert Cheng <acheng@hdfgroup.org> | 2000-10-31 18:02:03 (GMT) |
commit | 0a6cfff27d12c77923616b34f231b3c8df8d6397 (patch) | |
tree | 3f095edb51e3e47429744779357f0d571f0327b9 /src/H5FD.c | |
parent | feb7e97b1394ace6a5e8ce2100b9a1e68a1ed25c (diff) | |
download | hdf5-0a6cfff27d12c77923616b34f231b3c8df8d6397.zip hdf5-0a6cfff27d12c77923616b34f231b3c8df8d6397.tar.gz hdf5-0a6cfff27d12c77923616b34f231b3c8df8d6397.tar.bz2 |
[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
Diffstat (limited to 'src/H5FD.c')
-rw-r--r-- | src/H5FD.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -904,7 +904,6 @@ H5FD_close(H5FD_t *file) /* Prepare to close file by clearing all public fields */ driver = file->cls; H5I_dec_ref(file->driver_id); - HDmemset(file, 0, sizeof(H5FD_t)); /* * Dispatch to the driver for actual close. If the driver fails to @@ -914,6 +913,7 @@ H5FD_close(H5FD_t *file) if ((driver->close)(file)<0) { HRETURN_ERROR(H5E_VFL, H5E_CANTINIT, FAIL, "close failed"); } + HDmemset(file, 0, sizeof(H5FD_t)); FUNC_LEAVE(SUCCEED); } |