Le sam. 21 mars 2020 à 04:14, Stephen J. Turnbull <turnbull.stephen...@u.tsukuba.ac.jp> a écrit : > But ... this sounds to me like work that should be done on a branch. > > I'm sure you considered that, but I also expect others will feel the > same way. Perhaps this is a good opportunity to document why it's not > being done on a branch.
For almost every small changes that I wanted to write, I had to push many small "refactoring" changes to "prepare" the code base for that. I mean that while I'm doing the changes that I want to do, I had to fix dozens of bugs which didn't impact anyone else before because subinterpreters were not properly isolated. For example, to be able to make small integer singletons per-interpreters, I had to fix the code to initialize builtins and sys modules to make them really isolated from the main interpreter. One of the practical issue that I had is that when a subinterpreter leaked references, previously it was ignored since we basically ignore references which are never released at exit. We only care of differences before/after running an unit test when using "python3 -m test -R 3:3 (...)". But when I *fixed* the implementation of subinterpreters, suddenly, very old bugs became visible. What I'm trying to say is that "fixing" the implementation of subinterpreters require a deep refactoing of Python internals which cannot be done in a few small changes. Maintaining a branch in a fork of the Git project is likely to become too hard to maintain (rebase the branch). Moreover, I like to push small commits which are easy to understand, easy to review and easy to revert if needed. If we build a giant branch, what would be the outcome? Merge 1 year of work as a single commit? Currently, all commits of a pull request are almost squashed into a single large commit. > > There are still too many functions which don't work properly with > > subinterpreters. There are still a few design issues that needs to > > be addressed. > > Are subinterpreters in use in production? Yes. it's used for many years in production by Apache mod_wsgi project for example. > If so, and especially if > these use cases are unpatched vs. master, that would be justification > for pushing to master since you are clearly fixing problems with > subinterpreter use. Yes, I'm fixing real bugs ;-) Victor -- Night gathers, and now my watch begins. It shall not end until my death. _______________________________________________ Python-Dev mailing list -- python-dev@python.org To unsubscribe send an email to python-dev-le...@python.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/VPSA5VYAEOUTFEBAHBU2R4V57GXDS7HJ/ Code of Conduct: http://python.org/psf/codeofconduct/