Ignore:
Timestamp:
01/23/15 16:18:43 (9 years ago)
Author:
rlacroix
Message:

Backport r523 into the stable branch.

Improve the message error handling by mimicking the behavior of the info/report logs.

Output the error messages to the standart error message until the context is correctly initialized. Then, output the error messages to a file if the user has set "print_file" parameter to "true".

  • Fix: Errors that occured before MPI was initialized (e.g. during the config file parsing) caused a MPI error on top of the original error.
  • Fix: The error file could sometimes be misnamed if the error happened before the context was completely known.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/branchs/xios-1.0/src/client.hpp

    r501 r548  
    99    class CClient 
    1010    { 
    11        public: 
     11      public: 
     12        static void initialize(const string& codeId, MPI_Comm& localComm, MPI_Comm& returnComm); 
     13        static void finalize(void); 
     14        static void registerContext(const string& id, MPI_Comm contextComm); 
    1215 
    13        static void initialize(const string& codeId,MPI_Comm& localComm,MPI_Comm& returnComm) ; 
    14        static void finalize(void) ; 
    15        static void registerContext(const string& id,MPI_Comm contextComm) ; 
     16        static MPI_Comm intraComm; 
     17        static MPI_Comm interComm; 
     18        static int serverLeader; 
     19        static bool is_MPI_Initialized ; 
    1620 
    17        static MPI_Comm intraComm ; 
    18        static MPI_Comm interComm ; 
    19        static int serverLeader; 
    20        static bool is_MPI_Initialized ; 
    21  
    22        public: 
     21        //! Get rank of the current process 
    2322        static int getRank(); 
    2423 
     24        //! Open a file stream to write the info logs 
    2525        static void openInfoStream(const StdString& fileName); 
    26  
     26        //! Write the info logs to standard output 
    2727        static void openInfoStream(); 
    28  
     28        //! Close the info logs file if it opens 
    2929        static void closeInfoStream(); 
    3030 
    31        protected: 
    32        static int rank; 
    33        static StdOFStream m_infoStream; 
     31        //! Open a file stream to write the error log 
     32        static void openErrorStream(const StdString& fileName); 
     33        //! Write the error log to standard error output 
     34        static void openErrorStream(); 
     35        //! Close the error log file if it opens 
     36        static void closeErrorStream(); 
    3437 
     38      protected: 
     39        static int rank; 
     40        static StdOFStream m_infoStream; 
     41        static StdOFStream m_errorStream; 
    3542 
    36     } ; 
     43        static void openStream(const StdString& fileName, const StdString& ext, std::filebuf* fb); 
     44    }; 
    3745} 
    3846 
Note: See TracChangeset for help on using the changeset viewer.