From 7e1f7e822f23b79e935a19c43f5f584f6adb759b Mon Sep 17 00:00:00 2001
From: ext-calvo_p <pedro.calvo@ciemat.es>
Date: Fri, 27 Nov 2020 14:45:05 +0100
Subject: [PATCH] fix failed open

---
 src/Distribution/Distribution.cpp | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/Distribution/Distribution.cpp b/src/Distribution/Distribution.cpp
index 160e4ffec..9fcf78a14 100644
--- a/src/Distribution/Distribution.cpp
+++ b/src/Distribution/Distribution.cpp
@@ -1011,13 +1011,17 @@ void Distribution::createDistributionFromFile(size_t /*numberOfParticles*/, doub
     // Data input file is only read by node 0.
     std::ifstream inputFile;
     std::string fileName = Attributes::getString(itsAttr[Attrib::Distribution::FNAME]);
+    bool failedOpen = 0;
     if (Ippl::myNode() == 0) {
         inputFile.open(fileName.c_str());
+        failedOpen = static_cast<bool>(inputFile.fail());
     }
-    if (inputFile.fail()) {
+    reduce(failedOpen,failedOpen,OpAddAssign());
+    if (failedOpen) {
         throw OpalException("Distribution::createDistributionFromFile",
                             "Open file operation failed, please check if \""
-                            + fileName + "\" really exists.");
+                            + fileName
+                            + "\" really exists.");
     }
 
     size_t numberOfParticlesRead = getNumberOfParticlesInFile(inputFile);
-- 
GitLab