diff --git a/GenericIO.cxx b/GenericIO.cxx index b3cb88206051b690db34354d7252ac072e877b38..4082cfebc3eae5ded215b96032f6199c0005140e 100644 --- a/GenericIO.cxx +++ b/GenericIO.cxx @@ -518,6 +518,11 @@ void GenericIO::write() { LocalFileName = FileName; } +#ifndef GENERICIO_NO_MPI + if(Rank0CreateAll && NRanks > 1) + MPI_Barrier(Comm); +#endif + RankHeader<IsBigEndian> RHLocal; int Dims[3], Periods[3], Coords[3]; @@ -797,7 +802,7 @@ nocomp: setFH(MPI_COMM_SELF); - FH.get()->open(LocalFileName, false, Rank0CreateAll); + FH.get()->open(LocalFileName, false, Rank0CreateAll && NRanks>1); FH.get()->setSize(FileSize); FH.get()->write(&Header[0], HeaderSize, 0, "header");