Fixes segfault when compiling checkpointed functions (#1235)

This commit is contained in:
Angelos Katharopoulos
2024-06-26 16:14:45 -07:00
committed by GitHub
parent 2615660e62
commit b05bcfd27f
3 changed files with 16 additions and 2 deletions

View File

@@ -536,7 +536,6 @@ struct PyCompiledFun {
class PyCheckpointedFun {
public:
PyCheckpointedFun(nb::callable fun) : fun_(std::move(fun)) {}
~PyCheckpointedFun() {
nb::gil_scoped_acquire gil;
@@ -968,5 +967,8 @@ void init_transforms(nb::module_& m) {
// Register static Python object cleanup before the interpreter exits
auto atexit = nb::module_::import_("atexit");
atexit.attr("register")(nb::cpp_function([]() { tree_cache().clear(); }));
atexit.attr("register")(nb::cpp_function([]() {
tree_cache().clear();
detail::compile_clear_cache();
}));
}