14#include "arcane/utils/ArcanePrecomp.h"
16#include "arcane/utils/ITraceMng.h"
17#include "arcane/utils/ParallelFatalErrorException.h"
19#include "arcane/IParallelMng.h"
20#include "arcane/ISubDomain.h"
21#include "arcane/SequentialSection.h"
32SequentialSection(IParallelMng* pm)
43SequentialSection(ISubDomain* sd)
44: m_parallel_mng(sd->parallelMng())
54~SequentialSection() ARCANE_NOEXCEPT_FALSE
56 Integer sid = m_parallel_mng->commRank();
58 Integer error_value = m_has_error ? 1 : 0;
60 ArrayView<Integer> iv(1,&error_value);
61 m_parallel_mng->broadcast(iv,0);
73void SequentialSection::
76 Integer sid = m_parallel_mng->commRank();
82 ArrayView<Integer> iv(1,&error_value);
83 m_parallel_mng->broadcast(iv,0);
93void SequentialSection::
96 Integer sid = m_parallel_mng->commRank();
97 ITraceMng* trace = m_parallel_mng->traceMng();
99 trace->logdate() <<
"Subdomain " << sid <<
"Fatal in sequantial section";
100 m_parallel_mng->barrier();
101 throw ParallelFatalErrorException(
"sequential section");
107void SequentialSection::
108setError(
bool is_error)
110 m_has_error = is_error;
Int32 Integer
Type représentant un entier.