diff options
author | Erik Schnetter <schnetter@cct.lsu.edu> | 2010-09-14 15:55:15 -0500 |
---|---|---|
committer | Barry Wardell <barry.wardell@gmail.com> | 2011-12-14 18:25:22 +0000 |
commit | e281e21826f9667d9e7d1c559352bac450754992 (patch) | |
tree | e1ce04b1048e8befb28eb2e95683a25bd4609dd4 /Carpet | |
parent | 11305ebb85f311fad4b145e312ed18d6d7fbb9cc (diff) |
CarpetLib: Protect copy3d operator's debug output when using OpenMP
Diffstat (limited to 'Carpet')
-rw-r--r-- | Carpet/CarpetLib/src/copy_3d.cc | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/Carpet/CarpetLib/src/copy_3d.cc b/Carpet/CarpetLib/src/copy_3d.cc index f09a40bb7..4a78fe030 100644 --- a/Carpet/CarpetLib/src/copy_3d.cc +++ b/Carpet/CarpetLib/src/copy_3d.cc @@ -40,11 +40,14 @@ namespace CarpetLib { if (any (srcbbox.stride() != regbbox.stride() or dstbbox.stride() != regbbox.stride())) { - cout << "copy_3d.cc:" << endl - << "srcbbox=" << srcbbox << endl - << "dstbbox=" << dstbbox << endl - << "regbbox=" << regbbox << endl; - CCTK_WARN (0, "Internal error: strides disagree"); +#pragma omp critical + { + cout << "copy_3d.cc:" << endl + << "srcbbox=" << srcbbox << endl + << "dstbbox=" << dstbbox << endl + << "regbbox=" << regbbox << endl; + CCTK_WARN (0, "Internal error: strides disagree"); + } } if (any (srcbbox.stride() != dstbbox.stride())) { @@ -54,18 +57,27 @@ namespace CarpetLib { // This could be handled, but is likely to point to an error // elsewhere if (regbbox.empty()) { +#pragma omp critical CCTK_WARN (0, "Internal error: region extent is empty"); } if (not regbbox.is_contained_in(srcbbox) or not regbbox.is_contained_in(dstbbox)) { - CCTK_WARN (0, "Internal error: region extent is not contained in array extent"); +#pragma omp critical + { + cout << "copy_3d.cc:" << endl + << "srcbbox=" << srcbbox << endl + << "dstbbox=" << dstbbox << endl + << "regbbox=" << regbbox << endl; + CCTK_WARN (0, "Internal error: region extent is not contained in array extent"); + } } if (any (srcext != srcbbox.shape() / srcbbox.stride() or dstext != dstbbox.shape() / dstbbox.stride())) { +#pragma omp critical CCTK_WARN (0, "Internal error: array sizes don't agree with bounding boxes"); } |