Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added custom entry in
PyInterpreterState
Hijacked the interpreter state to get my boys on the inside. Currently, there doesn't seem to be an officially supported way to get a piece of pre-initialized per-interpreter memory over to an embedded module (more specifically, the embedded module's functions). For example: [init'd mem 1] ----> [subinterp 1] ----> {module fn call} [init'd mem 2] ----> [subinterp 2] ----> {module fn call} {module fn call} has a single implementation with access to its module state via `PyModule_GetState`. The initialization of a subinterpreter populates a custom entry for the pre-initialized memory in its interpreter state. On initialization of the embedded module (`Py_mod_exec`), the module state is populated with the custom entry (`PyThreadState_Get()->interp`). The module function now has access to the pre-initialized memory via its module state.
- Loading branch information