From b1eb3e8746767d6876a634d314b804dc2086616d Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Mon, 18 Mar 2024 11:54:40 +0000 Subject: [PATCH] BUG: fileHandler: disable parallel side effects. Fixes #3105 --- .../uncollatedFileOperation/uncollatedFileOperation.C | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/OpenFOAM/global/fileOperations/uncollatedFileOperation/uncollatedFileOperation.C b/src/OpenFOAM/global/fileOperations/uncollatedFileOperation/uncollatedFileOperation.C index 35fb161016f..75996732c3b 100644 --- a/src/OpenFOAM/global/fileOperations/uncollatedFileOperation/uncollatedFileOperation.C +++ b/src/OpenFOAM/global/fileOperations/uncollatedFileOperation/uncollatedFileOperation.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2017 OpenFOAM Foundation - Copyright (C) 2020-2023 OpenCFD Ltd. + Copyright (C) 2020-2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -716,6 +716,14 @@ bool Foam::fileOperations::uncollatedFileOperation::read const bool oldMasterOnly = regIOobject::masterOnlyReading; regIOobject::masterOnlyReading = masterOnly; + const bool oldParRun = UPstream::parRun(); + if (masterOnly) + { + // Reading on master only. + // Avoid side effects from io.readStream below. + UPstream::parRun(false); + } + // Read file ok = io.readData(io.readStream(typeName)); io.close(); @@ -723,6 +731,7 @@ bool Foam::fileOperations::uncollatedFileOperation::read // Restore flags io.globalObject(oldGlobal); regIOobject::masterOnlyReading = oldMasterOnly; + UPstream::parRun(oldParRun); if (debug) { -- GitLab