#include namespace py = pybind11; /* Simple test module/test class to check that the referenced internals data of external pybind11 * modules are different across subinterpreters */ PYBIND11_MODULE(mod_per_interpreter_gil, m, py::mod_gil_not_used(), py::multiple_interpreters::per_interpreter_gil()) { m.def("internals_at", []() { return reinterpret_cast(&py::detail::get_internals()); }); #ifdef PYBIND11_HAS_SUBINTERPRETER_SUPPORT m.attr("defined_PYBIND11_HAS_SUBINTERPRETER_SUPPORT") = true; #else m.attr("defined_PYBIND11_HAS_SUBINTERPRETER_SUPPORT") = false; #endif }