[cig-commits] [commit] master: Work around a problem with deallog when loading shared libs. (f703b33)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Tue Sep 2 04:48:08 PDT 2014


Repository : https://github.com/geodynamics/aspect

On branch  : master
Link       : https://github.com/geodynamics/aspect/compare/5187b35309607ca6239f2cd542c7595438569af5...873dd16d28505a844f0bd2fbf0739b4f0af46bf9

>---------------------------------------------------------------

commit f703b33d705fe7bcc90ff879ddb51a00b0127019
Author: Wolfgang Bangerth <bangerth at math.tamu.edu>
Date:   Mon Sep 1 14:29:54 2014 -0500

    Work around a problem with deallog when loading shared libs.


>---------------------------------------------------------------

f703b33d705fe7bcc90ff879ddb51a00b0127019
 doc/modules/changes.h | 6 ++++++
 source/main.cc        | 7 +++++++
 2 files changed, 13 insertions(+)

diff --git a/doc/modules/changes.h b/doc/modules/changes.h
index 1368236..4d4206f 100644
--- a/doc/modules/changes.h
+++ b/doc/modules/changes.h
@@ -6,6 +6,12 @@
  *
  *
  * <ol>
+ * <li> Fixed: When running in release mode and with user-defined libraries
+ * loaded, the deal.II solvers we use in ASPECT produced a lot more output
+ * than desired. This is now fixed.
+ * <br>
+ * (Wolfgang Bangerth, 2014/09/01)
+ *
  * <li> New: There is now a new section in the manual that documents running
  * the benchmarks proposed by Davies et al.
  * <br>
diff --git a/source/main.cc b/source/main.cc
index e34ec17..b866aec 100644
--- a/source/main.cc
+++ b/source/main.cc
@@ -134,6 +134,13 @@ void possibly_load_shared_libs (const std::string &parameter_filename)
                                    + shared_libs_list[i] + ">. The operating system reports "
                                    + "that the error is this: <"
                                    + dlerror() + ">."));
+
+	  // for reasons not entirely clear, dlopening a shared
+	  // library resets the log level of the deallog variable to
+	  // its default. however, this only happens in release mode,
+	  // not in debug mode. to work around this problem, set the
+	  // log depth again to where we want it to be
+	  deallog.depth_console(0);
         }
 
       if (Utilities::MPI::this_mpi_process (MPI_COMM_WORLD) == 0)



More information about the CIG-COMMITS mailing list