From bcb226792040f524269860b784449a1260d8e679 Mon Sep 17 00:00:00 2001
From: Mark Olesen <Mark.Olesen@esi-group.com>
Date: Mon, 18 Jun 2018 11:19:37 +0200
Subject: [PATCH] ENH: reduce verbosity of safe warning (fixes #881)

- in places where we use std::cerr instead or Warning or FatalError.
  We only want messages from one process though.
---
 src/OpenFOAM/db/dictionary/dictionaryCompat.C | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/OpenFOAM/db/dictionary/dictionaryCompat.C b/src/OpenFOAM/db/dictionary/dictionaryCompat.C
index ab8e5000146..49fb277fb54 100644
--- a/src/OpenFOAM/db/dictionary/dictionaryCompat.C
+++ b/src/OpenFOAM/db/dictionary/dictionaryCompat.C
@@ -24,6 +24,7 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "dictionary.H"
+#include "Pstream.H"
 
 // * * * * * * * * * * * * * * * Local Functions * * * * * * * * * * * * * * //
 
@@ -65,7 +66,14 @@ Foam::dictionary::const_searcher Foam::dictionary::csearchCompat
 
         if (finder.found())
         {
-            if (shouldWarnVersion(iter.second))
+            // Only want a single warning (on master), but guard with a
+            // parRun check to avoid Pstream::master() when Pstream has not
+            // yet been initialized
+            if
+            (
+                shouldWarnVersion(iter.second)
+             && (Pstream::parRun() ? Pstream::master() : true)
+            )
             {
                 std::cerr
                     << "--> FOAM IOWarning :" << nl
-- 
GitLab