changeset 14156:d5d3037cbc11 stable

don't call singleton_cleanup_list::cleanup on exit. * toplev.cc (do_octave_atexit): Don't call singleton_cleanup_list::cleanup.
author John W. Eaton <jwe@octave.org>
date Fri, 06 Jan 2012 10:59:15 -0500
parents 583d3d6f6fde
children d0dcf26c4cbd
files src/toplev.cc
diffstat 1 files changed, 11 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/toplev.cc	Fri Jan 06 10:51:11 2012 -0500
+++ b/src/toplev.cc	Fri Jan 06 10:59:15 2012 -0500
@@ -1082,7 +1082,17 @@
           OCTAVE_SAFE_CALL (flush_octave_stdout, ());
         }
 
-      OCTAVE_SAFE_CALL (singleton_cleanup_list::cleanup, ());
+      // Don't call singleton_cleanup_list::cleanup until we have the
+      // problems with registering/unregistering types worked out.  For
+      // example, uncomment the following line, then use the make_int
+      // function from the examples directory to create an integer
+      // object and then exit Octave.  Octave should crash with a
+      // segfault when cleaning up the typinfo singleton.  We need some
+      // way to force new octave_value_X types that are created in
+      // .oct files to be unregistered when the .oct file shared library
+      // is unloaded.
+      //
+      // OCTAVE_SAFE_CALL (singleton_cleanup_list::cleanup, ());
 
       OCTAVE_SAFE_CALL (octave_chunk_buffer::clear, ());
     }