diff --git a/applications/utilities/finiteArea/makeFaMesh/decomposeFaFields.H b/applications/utilities/finiteArea/makeFaMesh/decomposeFaFields.H index f1a595e3b0..fd5840f30e 100644 --- a/applications/utilities/finiteArea/makeFaMesh/decomposeFaFields.H +++ b/applications/utilities/finiteArea/makeFaMesh/decomposeFaFields.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2021-2022 OpenCFD Ltd. + Copyright (C) 2021-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM, distributed under GPL-3.0-or-later. @@ -57,8 +57,10 @@ do std::unique_ptr subsetter; IOobjectList objects(0); + refPtr newHandler(fileOperation::NewUncollated()); + const bool oldDistributed = fileHandler().distributed(); - auto oldHandler = fileHandler(fileOperation::NewUncollated()); + auto oldHandler = fileOperation::fileHandler(newHandler); fileHandler().distributed(true); if (UPstream::master()) @@ -73,11 +75,8 @@ do UPstream::parRun(oldParRun); } - // Restore old settings - if (oldHandler) - { - fileHandler(std::move(oldHandler)); - } + // Restore settings + (void) fileOperation::fileHandler(oldHandler); fileHandler().distributed(oldDistributed); areaFieldsCache.readAllFields diff --git a/src/parallel/reconstruct/faReconstruct/faMeshReconstructor.C b/src/parallel/reconstruct/faReconstruct/faMeshReconstructor.C index 332480a5b3..ea49c9d551 100644 --- a/src/parallel/reconstruct/faReconstruct/faMeshReconstructor.C +++ b/src/parallel/reconstruct/faReconstruct/faMeshReconstructor.C @@ -721,13 +721,14 @@ void Foam::faMeshReconstructor::writeMesh(const word& timeName) const { const faMesh& fullMesh = this->mesh(); - const bool oldDistributed = fileHandler().distributed(); - auto oldHandler = fileHandler(fileOperation::NewUncollated()); - fileHandler().distributed(true); + refPtr writeHandler(fileOperation::NewUncollated()); - if (Pstream::master()) + auto oldHandler = fileOperation::fileHandler(writeHandler); + const bool oldDistributed = fileHandler().distributed(true); + + if (UPstream::master()) { - const bool oldParRun = Pstream::parRun(false); + const bool oldParRun = UPstream::parRun(false); IOobject io(fullMesh.boundary()); @@ -736,15 +737,12 @@ void Foam::faMeshReconstructor::writeMesh(const word& timeName) const fullMesh.boundary().write(); - Pstream::parRun(oldParRun); + UPstream::parRun(oldParRun); } - // Restore old settings - if (oldHandler) - { - fileHandler(std::move(oldHandler)); - } + // Restore settings fileHandler().distributed(oldDistributed); + (void) fileOperation::fileHandler(oldHandler); }