Dear All, Next is about "MPI_FILE_SEEK_SHARED" in Fortran.
When MPI_FILE_SEEK_SHARED is called in Fortran Program, the shared file pointer is not updated. Incorrent function call is the following part: ----ompi/mpi/f77/file_seek_shared_f.c----------- 60 void mpi_file_seek_shared_f(MPI_Fint *fh, MPI_Offset *offset, 61 MPI_Fint *whence, MPI_Fint *ierr) 62 { 63 MPI_File c_fh = MPI_File_f2c(*fh); 64 65 *ierr = OMPI_INT_2_FINT(MPI_File_seek(c_fh, (MPI_Offset) *offset, 66 OMPI_FINT_2_INT(*whence))); 67 } ----ompi/mpi/f77/file_seek_shared_f.c----------- Attached patch fixes it(Patch is for in V1.4x). Best regards, Yuki MATSUMOTO MPI development team, Fujitsu
Index: ompi/mpi/f77/file_seek_shared_f.c =================================================================== --- ompi/mpi/f77/file_seek_shared_f.c (revision 25723) +++ ompi/mpi/f77/file_seek_shared_f.c (working copy) @@ -62,6 +62,6 @@ { MPI_File c_fh = MPI_File_f2c(*fh); - *ierr = OMPI_INT_2_FINT(MPI_File_seek(c_fh, (MPI_Offset) *offset, + *ierr = OMPI_INT_2_FINT(MPI_File_seek_shared(c_fh, (MPI_Offset) *offset, OMPI_FINT_2_INT(*whence))); }