Dan Sugalski <[EMAIL PROTECTED]> wrote: > On Wed, 3 Sep 2003, Leopold Toetsch wrote:
>> Then we might get deadlocks. > This is always a possibility, and there isn't anything we can do about it > at the interpreter level. Deadlocks are an unfortunate fact of life in a > threaded environment. clone() isn't supposed to deadlock, nor freeze(), nor dump(). They officially do not change (or shouldn't change) anything in the PMCs they operate on. These methods just passively iterate over PMCs. To work against that, we would have to implement shared PMCs as: - first COWed (updating next_for_GC doesn't change this state) - if any thread updates the PMC unCOW the PMCs and - communicate via events such changes to other threads - horrid. Dan, that clone/freeze/dump... scheme doesn't work. > Dan leo