diff --git a/modules/base/pymod/export_logger.cc b/modules/base/pymod/export_logger.cc index 8c00f377d984a0b085e0cd2e20aa75ef7ed293b3..7f29c16e51a935b65b395dfad2ed083c8a7c6da5 100644 --- a/modules/base/pymod/export_logger.cc +++ b/modules/base/pymod/export_logger.cc @@ -116,6 +116,8 @@ void export_Logger() // the sink stack, we will get "Fatal Python error: PyEval_SaveThread: // NULL tstate" upon exiting ost. I don't completely understand why, though. scope().attr("__dict__")["atexit"]=import("atexit"); + def("_reset_sinks", &reset_sinks); - exec("atexit.register(_reset_sinks)", scope().attr("__dict__")); + object r=scope().attr("_reset_sinks"); + scope().attr("atexit").attr("register")(r); }