
On 06/05/2020 21:52, Eric Snow wrote:
On Wed, May 6, 2020 at 2:25 PM Jeff Allen <ja.py@farowl.co.uk> wrote: ...
My reason for worrying about this is that, while the C-API has been there for some time, it has not had heavy use in taxing cases AFAIK, and I think there is room for it to be incorrect. I am thinking more about Jython than CPython, but ideally they are the same structures. When I put the structures to taxing use cases on paper, they don't seem quite to work. Jython has been used in environments with thread-pools, concurrency, and multiple interpreters, and this aspect has had to be "fixed" several times. That insight would be super helpful and much appreciated. :) Is that all on the docs you've linked?
As far as it goes. I intended to (will eventually) elaborate the more complex cases, such as concurrency and application server, where I think a Thread may have "history" in a runtime that should be ignored. There's more on my local repo, but not about this yet. I have linked you into one page of a large and rambling (at times) account of experiments I'm doing. Outside be dragons. The other thing I might point to would be Jython bugs that may be clues something is still wrong conceptually, or at least justify getting those concepts clear (https://bugs.jython.org issues 2642, 2507, 2513, 2846, 2465, 2107 to name a few).
This is great stuff, Jeff! Thanks for sharing it. I was able to skim through but don't have time to dig in at the moment. I'll reply in detail as soon as I can.
Thanks. I hope it's a positive contribution. Isn't PlantUML awesome? The key argument (or where I'm mistaken) is that, once you start sharing objects, only the function you call knows the right Interpreter (import context) to use, so in principle, it is different in every frame. You can't get to it from the current thread. Jeff