From: wolf Date: Wed, 25 Nov 1998 13:21:18 +0000 (+0000) Subject: Fix a problem with locks/subscriptors which prevented the example from running. X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1ffffa933aa3f0a0451379a4ae1b68545b20e705;p=dealii-svn.git Fix a problem with locks/subscriptors which prevented the example from running. git-svn-id: https://svn.dealii.org/trunk@673 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/deal.II/Attic/examples/convergence/convergence.cc b/deal.II/deal.II/Attic/examples/convergence/convergence.cc index b5c91be41b..e60e21f164 100644 --- a/deal.II/deal.II/Attic/examples/convergence/convergence.cc +++ b/deal.II/deal.II/Attic/examples/convergence/convergence.cc @@ -209,6 +209,11 @@ void PoissonProblem::clear () { dof = 0; }; + // make it known to the underlying + // ProblemBase that tria and dof + // are already deleted + set_tria_and_dof (tria, dof); + if (rhs != 0) { delete rhs; diff --git a/deal.II/deal.II/Attic/examples/poisson/problem.cc b/deal.II/deal.II/Attic/examples/poisson/problem.cc index e24b5d1aff..c683811385 100644 --- a/deal.II/deal.II/Attic/examples/poisson/problem.cc +++ b/deal.II/deal.II/Attic/examples/poisson/problem.cc @@ -174,6 +174,11 @@ void PoissonProblem::clear () { tria = 0; }; + // make it known to the underlying + // ProblemBase that tria and dof + // are already deleted + set_tria_and_dof (tria, dof); + if (rhs != 0) { @@ -479,6 +484,10 @@ void PoissonProblem::run (ParameterHandler &prm) { out.write_gnuplot (gnuplot); gnuplot.close (); + // release the lock of the DoF object to + // the FE object + dof->clear (); + cout << endl; }; diff --git a/tests/big-tests/convergence/convergence.cc b/tests/big-tests/convergence/convergence.cc index b5c91be41b..e60e21f164 100644 --- a/tests/big-tests/convergence/convergence.cc +++ b/tests/big-tests/convergence/convergence.cc @@ -209,6 +209,11 @@ void PoissonProblem::clear () { dof = 0; }; + // make it known to the underlying + // ProblemBase that tria and dof + // are already deleted + set_tria_and_dof (tria, dof); + if (rhs != 0) { delete rhs; diff --git a/tests/big-tests/poisson/problem.cc b/tests/big-tests/poisson/problem.cc index e24b5d1aff..c683811385 100644 --- a/tests/big-tests/poisson/problem.cc +++ b/tests/big-tests/poisson/problem.cc @@ -174,6 +174,11 @@ void PoissonProblem::clear () { tria = 0; }; + // make it known to the underlying + // ProblemBase that tria and dof + // are already deleted + set_tria_and_dof (tria, dof); + if (rhs != 0) { @@ -479,6 +484,10 @@ void PoissonProblem::run (ParameterHandler &prm) { out.write_gnuplot (gnuplot); gnuplot.close (); + // release the lock of the DoF object to + // the FE object + dof->clear (); + cout << endl; };