> -----Original Message-----
> From: Alfred Perlstein [mailto:bright@wintelcom.net]
>
> * Hiroshi Inoue <Inoue@tpf.co.jp> [000729 18:38] wrote:
> > Hi all,
> >
> > I found another(??) lock freezing phenomenon.
> > Seems I'm guilty for the bug.
> >
> [snip]
> >
> > Either the cancel of session-2 or commit of session-1 must
> > wake up session-3. I would change the cancel request stuff
> > so that it can wake up sleeping processes.
> >
> > Comments ?
>
> The simplest and fairest way is to simply wake all the programs looking
> for a lock when that lock is released, it also simplifies the design.
>
Hmm,cancel request while waiting for a lock removes the waiting
lock from waitQueue not release the holding lock.
But you are right. It was my fault that I didn't wake up sleeping
processes in my implementation.
Regards.
Hiroshi Inoue