Howdy HDF5 Folk!
I have a question about opening the same file twice. I am finding that
I can open the same file twice, unless I first open it for read-only
access, and the try and open it for read-write access.
The code below demonstrates. Do I have it correctly? Does the same
rule apply for parallel situation? (That is, does the writer always
have to open the file first?)
Thanks!
Ed
/* Confirm that the same file can be opened twice at the same time,
* for read only access. */
if ((fileid = H5Fopen(FILE_NAME, H5F_ACC_RDONLY, H5P_DEFAULT)) < 0) ERR;
if ((fileid2 = H5Fopen(FILE_NAME, H5F_ACC_RDONLY, H5P_DEFAULT)) < 0) ERR;
if (H5Fclose(fileid) < 0) ERR;
if (H5Fclose(fileid2) < 0) ERR;
/* Once open for read only access, the file can't be opened again
* for write access. */
if ((fileid = H5Fopen(FILE_NAME, H5F_ACC_RDONLY, H5P_DEFAULT)) < 0) ERR;
if ((fileid2 = H5Fopen(FILE_NAME, H5F_ACC_RDWR, H5P_DEFAULT)) >= 0) ERR;
if (H5Fclose(fileid) < 0) ERR;
/* But you can open the file for read/write access, and then open
* it again for read only access. */
if ((fileid2 = H5Fopen(FILE_NAME, H5F_ACC_RDWR, H5P_DEFAULT)) < 0) ERR;
if ((fileid = H5Fopen(FILE_NAME, H5F_ACC_RDONLY, H5P_DEFAULT)) < 0) ERR;
if (H5Fclose(fileid) < 0) ERR;
if (H5Fclose(fileid2) < 0) ERR;
--
Ed Hartnett -- ed@xxxxxxxxxxxxxxxx