| #include <pybind11/pybind11.h> |
| |
| 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<uintptr_t>(&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 |
| } |