changeset 23105:3b58b08d764a

delay cleanup for embedded interpreter until destructor is called * interpreter.cc (interpreter::~interpreter): Call cleanup if running in embedded mode. (interpreter::execute): Call cleanup if not running in embedded mode.
author John W. Eaton <jwe@octave.org>
date Fri, 27 Jan 2017 16:23:01 -0500
parents 2805cc365a86
children 1a53f9d42ec1
files libinterp/corefcn/interpreter.cc
diffstat 1 files changed, 5 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/libinterp/corefcn/interpreter.cc	Fri Jan 27 12:56:33 2017 -0500
+++ b/libinterp/corefcn/interpreter.cc	Fri Jan 27 16:23:01 2017 -0500
@@ -543,6 +543,9 @@
 
   interpreter::~interpreter (void)
   {
+    if (m_embedded)
+      cleanup ();
+
     current_evaluator = 0;
 
     delete m_evaluator;
@@ -561,7 +564,8 @@
         exit_status = ex.exit_status ();
       }
 
-    cleanup ();
+    if (! m_embedded)
+      cleanup ();
 
     return exit_status;
   }