On Wed, 3 Sep 2003, Leopold Toetsch wrote:

> Dan Sugalski <[EMAIL PROTECTED]> wrote:
> > On Wed, 3 Sep 2003, Leopold Toetsch wrote:
> 
> >> But if one thread sets pmc->next_for_GC the next thread might encounter
> >> this PMC later (albeit for this thread at the first time) and think, I've
> >> visited this PMC already and just flush out the object ID and not the
> >> whole PMC.
> 
> > The freezing routine can just lock the PMCs as it freezes them. As long as
> > it keeps the original chain head around, it can then just walk the list
> > again and unlock them.
> 
> 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.

                                        Dan

Reply via email to