# HG changeset patch # User John W. Eaton # Date 1325865555 18000 # Node ID d5d3037cbc11686e18662742a89b8cedb46e93ea # Parent 583d3d6f6fde4ec7f8435b7134966d3f51a020ab don't call singleton_cleanup_list::cleanup on exit. * toplev.cc (do_octave_atexit): Don't call singleton_cleanup_list::cleanup. diff -r 583d3d6f6fde -r d5d3037cbc11 src/toplev.cc --- 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, ()); }