On Mon, Apr 6, 2015 at 3:48 PM Maciej Fijalkowski <fij...@gmail.com> wrote:

> maybe we should add something along those lines to FAQ
>
> http://emptysqua.re/blog/pypy-garbage-collection-and-a-deadlock/


Can't it be fixed? I see 2 possible solutions here:
1. We can detect deadlock (any lock contention during GC round will become
deadlock) and bail out of GC round early to try again later or skip freeing
this object (and mark all objects referenced by it).
2. We can defer all calls to __del__ until after GC round and run them in a
separate Python thread which would allow them to yield processing to let
other threads free some lock.

I know that either of these solutions would change semantics a bit, but it
shouldn't affect user's code.
_______________________________________________
pypy-dev mailing list
pypy-dev@python.org
https://mail.python.org/mailman/listinfo/pypy-dev

Reply via email to