From 7d2085472678fe82e317c85fba12b486a157002b Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Wed, 8 Sep 2021 09:02:51 +0100 Subject: [PATCH] BUG: fileHandler: disable parallel inside master-only ops. See #806. --- .../masterUncollatedFileOperation.C | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C b/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C index 29d72055a8e..c7babbd03ab 100644 --- a/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C +++ b/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C @@ -1138,6 +1138,8 @@ Foam::fileName Foam::fileOperations::masterUncollatedFileOperation::filePath if (Pstream::master(comm_)) { + const bool oldParRun(Pstream::parRun(false)); + // All masters search locally. Note that global objects might // fail (except on master). This gets handled later on (in PARENTOBJECT) objPath = @@ -1152,6 +1154,8 @@ Foam::fileName Foam::fileOperations::masterUncollatedFileOperation::filePath newInstancePath ); + Pstream::parRun(oldParRun); + if (debug) { Pout<< "masterUncollatedFileOperation::filePath :" @@ -1278,6 +1282,8 @@ Foam::fileName Foam::fileOperations::masterUncollatedFileOperation::dirPath if (Pstream::master(comm_)) { + const bool oldParRun(Pstream::parRun(false)); + objPath = filePathInfo ( checkGlobal, @@ -1288,6 +1294,8 @@ Foam::fileName Foam::fileOperations::masterUncollatedFileOperation::dirPath procsDir, newInstancePath ); + + Pstream::parRun(oldParRun); } { @@ -1459,10 +1467,12 @@ Foam::fileOperations::masterUncollatedFileOperation::findInstance // if (Pstream::master(comm_)) if (Pstream::master(UPstream::worldComm)) { + const bool oldParRun(Pstream::parRun(false)); if (exists(pDirs, io)) { foundInstance = io.instance(); } + Pstream::parRun(oldParRun); } // Do parallel early exit to avoid calling time.times() @@ -1488,6 +1498,8 @@ Foam::fileOperations::masterUncollatedFileOperation::findInstance // if (Pstream::master(comm_)) if (Pstream::master(UPstream::worldComm)) { + const bool oldParRun(Pstream::parRun(false)); + label instanceI; for (instanceI = ts.size()-1; instanceI >= 0; --instanceI) @@ -1608,6 +1620,7 @@ Foam::fileOperations::masterUncollatedFileOperation::findInstance foundInstance = time.constant(); } } + Pstream::parRun(oldParRun); } // Pstream::scatter(foundInstance, Pstream::msgType(), comm_); -- GitLab