# HG changeset patch # User John W. Eaton # Date 1645217158 18000 # Node ID 25d08ca386a7de452d0d880b6dd948ba9e715354 # Parent 1b96856b88efc667faf026e4115416cc7e76c43e * make_int.cc (octave_integer): Derive from octave_base_dld_value. diff -r 1b96856b88ef -r 25d08ca386a7 examples/code/make_int.cc --- a/examples/code/make_int.cc Fri Feb 18 19:15:04 2022 +0900 +++ b/examples/code/make_int.cc Fri Feb 18 15:45:58 2022 -0500 @@ -26,19 +26,25 @@ // Integer values. +// Derive from octave_base_dld_value instead of octave_base_value +// so that octave_integer values created by that dynamically loaded +// make_int.oct file will be tracked automatically and the .oct file +// will not be closed until all functions and values that it creates are +// deleted. + class -octave_integer : public octave_base_value +octave_integer : public octave_base_dld_value { public: octave_integer (void) - : octave_base_value (), scalar (0) { } + : octave_base_dld_value (), scalar (0) { } octave_integer (int i) - : octave_base_value (), scalar (i) { } + : octave_base_dld_value (), scalar (i) { } octave_integer (const octave_integer& s) - : octave_base_value (), scalar (s.scalar) { } + : octave_base_dld_value (), scalar (s.scalar) { } ~octave_integer (void) = default; @@ -219,7 +225,6 @@ if (! type_loaded) { octave_integer::register_type (); - interp.mlock (); octave_stdout << "installing integer type at type-id = " << octave_integer::static_type_id () << "\n";