changeset 13994:99f039289e95

also clean up float fftw planner * oct-fftw.h (octave_float_fftw_planner::cleanup_instance): New function. * oct-fftw.cc (octave_float_fftw_planner::instance_ok): Add instance to singleton cleanup list.
author John W. Eaton <jwe@octave.org>
date Mon, 05 Dec 2011 00:30:51 -0500
parents e58963b5c0b1
children 8a566473361e
files liboctave/oct-fftw.cc liboctave/oct-fftw.h
diffstat 2 files changed, 8 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/liboctave/oct-fftw.cc	Sun Dec 04 19:37:58 2011 -0500
+++ b/liboctave/oct-fftw.cc	Mon Dec 05 00:30:51 2011 -0500
@@ -389,7 +389,12 @@
   bool retval = true;
 
   if (! instance)
-    instance = new octave_float_fftw_planner ();
+    {
+      instance = new octave_float_fftw_planner ();
+
+      if (instance)
+        singleton_cleanup_list::add (cleanup_instance);
+    }
 
   if (! instance)
     {
--- a/liboctave/oct-fftw.h	Sun Dec 04 19:37:58 2011 -0500
+++ b/liboctave/oct-fftw.h	Mon Dec 05 00:30:51 2011 -0500
@@ -245,6 +245,8 @@
 
   static octave_float_fftw_planner *instance;
 
+  static void cleanup_instance (void) { delete instance; instance = 0; }
+
   fftwf_plan
   do_create_plan (int dir, const int rank, const dim_vector dims,
                   octave_idx_type howmany, octave_idx_type stride,