[kaffe] Bug Report

Archie Cobbs archie@dellroad.org
Thu, 25 Apr 2002 11:16:19 -0700 (PDT)


Timothy Stack writes:
> The problem is that kaffe uses the stack to keep track of locks/unlocks,
> so something like:
> 
>   synchronized( lock )
>   {
>     synchronized( lock )
>     {
>     }
>   }
> 
> will break because the top of the stack doesn't change between the first
> and second lock.  Therefore, the first unlock will completely free the
> lock since the vm can't tell the difference between the two.  So, other
> than pushing something on the stack on every synchronized, i don't think
> theres much you can do without rewriting the whole locking system.

Wow, that sounds too bad to be true. Can we solve this with
a recursion counter or something?

-Archie

__________________________________________________________________________
Archie Cobbs     *     Packet Design     *     http://www.packetdesign.com