treat Py_Finalize() more like MPI_Finalize()

this is done by
- not automatically calling Py_Finalize() when destructing a python interpreter
- adding wrapper functions so that the call to Py_Finalize() is hidden
  and skipped if Python support is no included.
- call the Python::finalize() wrapper in main.cpp (similar to the equivalent Kokkos function)
- add a wrapper of that call to the C library interface
This commit is contained in:
Axel Kohlmeyer
2021-09-04 12:45:59 -04:00
parent 91b0ae798a
commit 0286c3e2be
9 changed files with 83 additions and 14 deletions

View File

@ -126,3 +126,12 @@ bool Python::has_minimum_version(int major, int minor)
init();
return impl->has_minimum_version(major, minor);
}
/* ------------------------------------------------------------------ */
void Python::finalize()
{
#if defined(LMP_PYTHON)
PythonImpl::finalize();
#endif
}